Xcode 5.1 - コンパイルするアーキテクチャがありません (ONLY_ACTIVE_ARCH=YES、アクティブ アーキテクチャ=x86_64、VALID_ARCHS=i386) 質問する

Xcode 5.1 - コンパイルするアーキテクチャがありません (ONLY_ACTIVE_ARCH=YES、アクティブ アーキテクチャ=x86_64、VALID_ARCHS=i386) 質問する

Xcode 5.1 にアップデートした後、64 ビット シミュレーター用のプロジェクトをビルドできなくなり、次のエラーが表示されます。

 No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=x86_64, VALID_ARCHS=i386).

ターゲットビルド設定は次のとおりです。

Xcodeターゲットビルド設定

「Build Active Architecture」を「No」に変更し、「Valid Architectures」に「i386」を追加してみましたが、残念ながらどちらも機能しませんでした。ご提案をいただければ幸いです。

ベストアンサー1

必要なのは、ONLY_ACTIVE_ARCHを設定することだけですNO(少なくとも私の場合はうまくいきました)。以下はそのスクリーンショットです:


編集:

私の知る限りでは (何か間違っている点があれば指摘してください。ONLY_ACTIVE_ARCH)を に設定すると、YESXcode はアクティブなアーキテクチャ (現在 Xcode でアクティブなデバイスを参照) に対してのみビルドすることを意味します。Xcode のデフォルト設定では Debug が に設定されているようです。YESそのため、Mac に接続されている特別なデバイスに対してのみビルドしたい場合、他のアーキテクチャのバイナリはビルドされません。

ビルドに失敗した理由は、プロジェクトが接続したデバイスのアーキテクチャをサポートしていないことが原因である可能性があります。したがって、最善の解決策は、デバイスに適切なアーキテクチャを追加することです。以下は、サポートされるアーキテクチャとデバイスのリストです。

  • ARMv8/ ARM64 : iPhone 6、、、iPhone 5siPad AirRetina iPad Mini
  • ARMv7 : iPhone 5、、iPhone 5ciPad 4
  • ARMv7 : iPhone 3GS、、、、、、、、、iPhone 4​​​​​iPhone 4SiPod 3G/4G/5GiPadiPad 2iPad 3iPad Mini
  • ARMv6 : iPhone、、iPhone 3GiPod 1G/2G

なぜONLY_ACTIVE_ARCHNO」に設定する動作しますか? デバイスは、追加したすべてのアーキテクチャ用にビルドされたバイナリを引き続き実行できます (ビルドに合格) が、パフォーマンスが若干低下します。これは簡単な解決策ですが、最善の解決策ではありません。


注記: 追加したアーキテクチャの数が増えるほど、生成されるバイナリのサイズが大きくなります。そのため、プロジェクトに適したアーキテクチャを選択することをお勧めします。;)

おすすめ記事