xcode 4 にアップグレードした後、アプリケーションが依存するすべてのライブラリ プロジェクトでエラーが発生します。
[BEROR] コンパイルするアーキテクチャがありません (ONLY_ACTIVE_ARCH=YES、アクティブな arch=i386、VALID_ARCHS=armv6)。
ビルド設定の有効なアーキテクチャに i386 を追加するだけでよいようです。私はシミュレーター用にコンパイルしていたので、それが不平を言っていました。
プロジェクトはアップグレード前に問題なく動作していたため、これは奇妙に思えます。アップグレードするすべてのプロジェクトでこれを行う必要があるように思えます。少なくとも今のところはうまくいくでしょう。
https://devforums.apple.com/message/376732#376732を参照してください。
「コンパイルするアーキテクチャがありません」は、「有効なアーキテクチャ」フィールドが空であることを意味します。に更新する
$(ARCHS_STANDARD_32_BIT)
と、通常の armv6 armv7 が表示されます。これは、「Base SDK」を「Latest SDK」に更新した後、XCode 4 GM で時々発生します。
project.pbxproj(xcodeprojファイルのパッケージコンテンツを表示)を開き、ですべての行を削除してVALID_ARCHS = "...";
、Xcodeを再起動します。
非常に奇妙な。同じエラーが発生し、デバッグとリリースの両方の「有効なアーキテクチャ」がarmv6とarmv7に設定されました。(同じコードがXcode 3.2で正常にコンパイルされます。)両方の設定を削除してから、明示的に$(ARCHS_STANDARD_32_BIT)に設定しました...これは再びarmv6とarmv7に変換されます...そして今は正常にコンパイルされます。i386は必要ありません。ふーむ ...
このエラーが Phonegap と組み合わせて発生した場合の解決策は次のとおりです。
プロジェクトとライブラリ (PhoneGapLib.xcodeProj) の「有効なアーキテクチャ」にビルド設定で「i386」を追加します。プロジェクトとターゲットの両方の場合。
最新のXcodeで自動参照カウントに変換しようとしたときに、このエラーが発生していました。有効なアーキテクチャリストに「x86_64」を追加して修正しました。これにより、ビルドを続行できました。
他の誰かが同じ問題を抱えている場合に備えて、私が自分のために働いたものを投入すると思いました!
xcode6に同様の問題があり、xcodeをアップグレードするとポップするように見えますが、提案されていることをすべて試してみましたが成功しませんでした
新しいプロジェクトを開き、Xcode 4 でコンパイルしてから、ビルド設定を変換されたプロジェクトと比較します。それが私がそれを見つけた方法です。