Xcode でビルドしてテストし、たとえば iPad でアプリを実行してから iPhone に切り替えようとすると、次のビルド エラーが発生します。
ld: 警告: ファイル /xxx/Build/Products/Debug- iphoneos/libCTCheckbox.a を無視します。ファイルは、リンクされているアーキテクチャではないアーカイブ用にビルドされました (arm64): /xxx/Library/Developer/Xcode/DerivedData/xxx/ビルド/製品/Debug-iphoneos/libCTCheckbox.a
すべてのポッド ライブラリに対して。
その後:
アーキテクチャ arm64 の未定義シンボル: 「_OBJC_CLASS_$_RKObjectMapping」、参照元: MappingGenerator.o の objc-class-ref SyncingManager.o の objc-class-ref
たくさんのファイルのために。
これは、Cocoapods をバージョン 1.0.1 にアップグレードし、ポッドのインストールを実行した後に発生し始めました。
XCode (バージョン 8.0) では、プロジェクト、プロジェクト ターゲット、および Pods プロジェクトのビルド設定は次のように設定されています。
- アーキテクチャ: 標準アーキテクチャ (armv7、arm64)
- アクティブなアーキテクチャのみをビルド: デバッグ -> はい、リリース -> いいえ
- 有効なアーキテクチャ: armv7、armv7s、arm64
- ターゲット デバイス ファミリ: 1、2
- ライブラリ検索パス: $(継承), "${PODS_ROOT}/GoogleAnalytics/Libraries"
- フレームワーク検索パス: $(継承)
「Build Active Architectures Only」設定で遊んで、プロジェクトを消去して XCode を再起動すると、最終的にビルドは再び成功しますが、機能する信頼できるアクションの順序が見つかりません。ipadに戻そうとするとまた同じことが起こります。