今日はxcode 5.0にアップグレードしました。次に、playを押して、iOSシミュレーターでプロジェクトを実行しました。これは最初はうまくいきました。次に、プロファイラーを実行することにしました。私がそれをしたとき、私はメッセージを得ました:
Xcode cannot run using the selected device.
Choose a destination with a supported architecture in order to run on this device.
この問題に関する過去の投稿をいくつか見て、Clean and Buildを行うことにしました。これで、プロファイラーまたはシミュレーターで実行できなくなりました。私は一貫してメッセージを受け取ります:
Xcode cannot run using the selected device.
Choose a destination with a supported architecture in order to run on this device.
どうすれば解決できますか?
さまざまな設定を次に示します。
私の展開ターゲットは6.1です
また、展開ターゲットを7.0に変更しようとしましたが、それも機能しませんでした
エラーが示唆するように、問題はビルド設定のアーキテクチャに関連していないようです。むしろ、この問題はC/C++/Objective Cのビルドオプションコンパイラに関連しているようです。gccコンパイラ(com.Apple.compilers.llvmgcc42)を使用しており、Xcode 5はこれをサポート対象外としてマークしました。
コンパイラをAppleのデフォルトApple LLVM 5.0に変更すると、プロジェクトがビルドされ、シミュレータで実行できるようになります。デメリットは、cocos2D v1に関連するコードから多くのコンパイラ警告があることです.0ソースコード。ただし、少なくとも先に進む方法があります。
以下の手順に従ってください
1>プロジェクトビルド設定に移動
2> c/c ++/Objective Cのコンパイラをデフォルトコンパイラとして変更(Apple LLVM 5.0)(下の画像を参照)
デフォルトコンパイラ(Apple LLVM 5.0)のコンパイラを2つの場所で変更する必要がありました。
ビルドルールが未定義のコンパイラを指していてもコードがコンパイルされるため、見つけにくい。
すべてのビルド設定を15分間調べた後、これはうまくいきました(Xcode 5.0.2):
Xcodeを終了して再起動
Info.plistファイル内の実行可能ファイル(CFBundleExecutableとも呼ばれる)が、ハードコードされた値ではなく$ {EXECUTABLE_NAME}に設定されていることを確認します。これにより、プロジェクト名、ターゲット名、またはスキーム名を変更した場合でも、確実に機能します。
この問題は、多くの場合、古いプロジェクトでターゲットを複製した後に発生します。
Info.plistでターゲットの次を設定します。
Bundle Name = ${PRODUCT_NAME}
Bundle Display Name = ${PRODUCT_NAME}
Executable file = ${EXECUTABLE_NAME}
これらの設定でビルドして実行します。ビルドが成功したら、必要なものに変更できます。
これは私のために機能します:「Xcodeを終了して再起動します」。最近何かを更新しましたが、Xcodeのテストデバイスは次のように述べています。「iDevice」はiPhoneやiPodではありません。そのため、再起動すると、iPhoneがターゲットリストに戻りました。
ターゲットプロパティの[バンドル名]キーの値を変更すると、このエラーが発生しました。 「%{PRODUCT_NAME}」に戻すと、問題は解決しました。