症状:Xcode 27 BetaでXCFrameworkのリンクやアーキテクチャエラーが出るなら、まず対象プラットフォームの変種、次に必要なアーキテクチャスライスを確認してください。 最短の切り分け:実際にリンクされたファイルとビルド環境まで照合し、不足があれば依存元に更新版を求めるか、対応する成果物を再構築します。Rosettaでの起動やバイナリの一括結合を、最初の回避策にしないでください。

SDKやバイナリ依存を配布する担当者、リモートMac CIだけで失敗するビルドを調査するエンジニア向けです。 ローカルとCIの差が依存パッケージ由来か、ビルド先や環境由来かを切り分けたいAppleプラットフォーム開発者にも役立ちます。

Xcode 27 BetaのXCFrameworkアーキテクチャエラーを故障箇所から切り分ける

最初に確認するのは、「どの段階で、どのターゲットが失敗したか」です。コンパイル時のモジュール読み込みエラー、リンク時のアーキテクチャ不一致、実行時のロード失敗では、調べる対象が異なります。失敗したターゲット名、完全なエラーログ、選択したビルド先を同じ記録に残してください。

エラーが出た段階は、どう見分けますか? ログに Compile やモジュール読み込みの失敗があればコンパイル段階、Ld や linker、building for ... but linking in ... が含まれるならリンク段階を優先して調べます。実行後にライブラリを読み込めない場合は、ビルド時に使われた成果物と実行環境の組み合わせを確認します。

Xcode 27 Betaは正式安定版と決めつけず、調査対象のビルド環境として記録します。Appleのリリース情報では、2026年10月6日時点でXcode 27 Beta 6のリリースノートと、Xcodeのリリース一覧に掲載された他のバージョンを照合できます。実際の診断では、端末側とCI側のXcode選択も同じ記録に含めます。

プラットフォーム変種をビルド先と照合する

XCFrameworkは、CPUアーキテクチャ名だけで互換性を判断できません。iOS実機、iOS Simulator、macOS、Mac Catalystは別のプラットフォーム対象として扱い、パッケージにビルド先に合う変種があるかを確かめます。Appleの複数プラットフォーム向けバイナリframework作成ガイドに沿って、パッケージの構成と対象の組み合わせを確認してください。

iOS Simulatorと実機で、同じXCFrameworkのバイナリを共用できますか? 同じCPUアーキテクチャを含むというだけでは判断できません。Simulator用と実機用のプラットフォーム変種が別々に用意されているかを確認し、現在のビルド先に対応するものがなければ、依存元の更新または再構築を検討します。Apple Silicon Simulatorで必要なスライスが不足している場合も、RosettaでXcodeを起動して解決したと判断するのではなく、依存パッケージ自体を調べます。

パッケージの宣言と実際のリンク先を照合する

対象の変種が存在していても、中に必要なアーキテクチャが含まれるとは限りません。XCFramework内の Info.plist で AvailableLibraries、LibraryIdentifier、LibraryPath、SupportedPlatform、SupportedPlatformVariant、SupportedArchitectures を調べ、選択対象を特定します。

ターミナルでは、たとえば plutil -p <XCFramework>/Info.plist で宣言を確認し、ログから実際に選択されたframeworkまたはlibraryのパスを追います。そのうえで、該当するバイナリに lipo -archs <binary> を実行し、宣言されたアーキテクチャと実体が一致するか照合します。宣言上は対応していても、参照先が旧成果物ならリンクは失敗します。

XCFrameworkが対象プラットフォームとアーキテクチャを含むか、どう確かめますか? まずビルド先に合う SupportedPlatform と SupportedPlatformVariant を見つけ、続いてその項目の SupportedArchitectures と LibraryPath を確認します。最後に、該当パスの実バイナリを調べ、ビルドログに出たリンク先と同じファイルか照合してください。

frameworkと静的ライブラリでは、XCFrameworkに格納する対象や参照するパスが異なる場合があります。AppleのXCFramework作成手順を基準に、配布時の指定方法と実際のフォルダ構成を点検します。出所や配布物の正当性も確認する場合は、AppleのXCFrameworkの出所確認手順を参照してください。

arm64 のようなアーキテクチャ名が一致しても、Simulator用と実機用の変種が一致するとは限りません。変種の選択、バイナリの実体、リンクログの順で照合してください。

リモートMac CIだけ失敗するときは依存解決を固定する

同じコミットが手元では通り、リモートMac CIで失敗するなら、すぐにノード固有の問題と断定しないでください。CIが別のXcodeを選択している、依存の解決結果が異なる、キャッシュに古いXCFrameworkが残っている、ビルド設定やビルド先が違う、といった条件を並べて比較します。

本機では成功するのに、リモートMac CIでリンクに失敗する場合は? 同じコミット、同じビルド先、同じ依存解決結果になるよう固定し、Xcodeの選択、ビルド設定、依存元、取得した成果物の版を両環境で記録します。Xcodeの設定差はAppleのBuild Settingsリファレンスも参照し、ログや依存一覧は認証情報を除いて比較可能な形で保存します。

切り分けは次の順で進めます。

  • 失敗したターゲット、ビルド先、完全なエラーと失敗段階を記録します。
  • 同一コミットで、端末側とCI側のXcode選択およびビルド設定を比較します。
  • 依存解決結果とキャッシュを固定し、取得したXCFrameworkの版と配置先を照合します。
  • Info.plist から対象変種を選び、そのバイナリの宣言と実際のアーキテクチャを確かめます。
  • ログに出たリンク対象のパスを特定し、古い成果物や別の依存元を参照していないか確認します。
  • 依存元に不足がある場合は、対応版の提供、ソースからの再構築、アップグレードの保留を選びます。
  • 修正後、プロジェクトで実際にサポートする実機とSimulatorのビルド先をそれぞれ検証し、ログと依存版を回帰確認用に保存します。
一度ビルドが成功しただけでは、原因が取り除かれた証拠になりません。キャッシュを消した一時的な成功なのか、依存とビルド先を固定した再現可能な成功なのかを区別してください。Appleの[Apple Silicon向けアーキテクチャビルドエラーの技術資料](https://developer.apple.com/documentation/technotes/tn3117-resolving-build-errors-for-apple-silicon?changes=_4_9)も、エラーメッセージと対象アーキテクチャを照合する際に役立ちます。

診断結果から次の対応を選ぶ

次の表は、症状から優先して確認する箇所を選ぶための運用上の目安です。評価は診断の優先度であり、特定の依存パッケージが対応済みであることを示すものではありません。

<
観測した症状優先して確認する箇所優先度次の対応
対象プラットフォームの変種が見つからないSupportedPlatform と SupportedPlatformVariant高依存元に対象変種の提供を確認します
変種はあるが必要なアーキテクチャがないSupportedArchitectures と実バイナリ高対応成果物を取得するか再構築します
宣言と実際のバイナリが食い違うLibraryPath、実ファイル、取得元高古い成果物や誤った参照先を除外します
ローカルとCIで選ばれるファイルが異なるXcode選択、依存解決、キャッシュ、ビルド設定中条件を固定し、両環境のログを比較します
失敗段階や選択ターゲットが特定できていない完全なログとビルド先高原因の推測を止め、再現条件を記録します
修正後は、原因ごとに受け入れ条件を設定します。 <
判定確認できたこと選ぶ対応
対応変種と必要なスライスがあり、実際のリンク先も一致ローカルとCIで依存版・ビルド先を揃えて再現できる実機とSimulatorの対象ビルドを通し、ログを基準として保存します
対象変種またはスライスが依存にないログとパッケージ内容で不足を確認できる供給元の更新を待つか、ソースから再構築します
ローカルとCIの依存版や設定が異なる同一条件に固定すると結果が変わる差分を修正し、固定条件で両環境を再実行します
端末、ネットワーク、または実行中のMacが手元で再現できない必要な検証対象や運用条件がローカルにないリモートMac環境を含む検証方法を比較します
手元のMacだけでは複数のAppleプラットフォーム向けビルドを安定して再現しにくい場合、まず必要なXcodeと実ターゲットをリモート環境で検証できるか確認し、その後にCIへ加えるか判断してください。手元の環境は初期調査に使いやすい一方、ノードの追加管理やローカル資源の占有があり、一般的なクラウド環境ではmacOS固有のツールチェーンをそのまま使えません。プロジェクトで必要なビルド先を一時的に確かめるなら、[MACGPUのリモートMac利用案内](https://macgpu.com/ja/index.html)や[M4搭載Macの案内](https://macgpu.com/ja/m4-chumon.html)を比較材料にできます。長期間の連続高負荷運用や物理インターフェースが必須なら、自社管理の実機が適する場合もあります。