web-dev-qa-db-ja.com

Xcode 5.0へのアップグレード後、選択したデバイスを使用してXcodeを実行できません

今日は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です

My Build Settings Architectures looks like:

また、展開ターゲットを7.0に変更しようとしましたが、それも機能しませんでした

26
JeffB6688

エラーが示唆するように、問題はビルド設定のアーキテクチャに関連していないようです。むしろ、この問題はC/C++/Objective Cのビルドオプションコンパイラに関連しているようです。gccコンパイラ(com.Apple.compilers.llvmgcc42)を使用しており、Xcode 5はこれをサポート対象外としてマークしました。

コンパイラをAppleのデフォルトApple LLVM 5.0に変更すると、プロジェクトがビルドされ、シミュレータで実行できるようになります。デメリットは、cocos2D v1に関連するコードから多くのコンパイラ警告があることです.0ソースコード。ただし、少なくとも先に進む方法があります。

77
JeffB6688

以下の手順に従ってください

1>プロジェクトビルド設定に移動

2> c/c ++/Objective Cのコンパイラをデフォルトコンパイラとして変更(Apple LLVM 5.0)(下の画像を参照)

enter image description here

34
Chris Alan

デフォルトコンパイラ(Apple LLVM 5.0)のコンパイラを2つの場所で変更する必要がありました。

  1. ビルド設定>ビルドオプション> C/C++/Objective-C用コンパイラ(LLVMに変更)
  2. ビルドルール> GCCを使用したファイル* .mc(LLVMに変更)

ビルドルールが未定義のコンパイラを指していてもコードがコンパイルされるため、見つけにくい。

10
rjobidon

すべてのビルド設定を15分間調べた後、これはうまくいきました(Xcode 5.0.2):

Xcodeを終了して再起動

7
Jason Moore

Info.plistファイル内の実行可能ファイル(CFBundleExecutableとも呼ばれる)が、ハードコードされた値ではなく$ {EXECUTABLE_NAME}に設定されていることを確認します。これにより、プロジェクト名、ターゲット名、またはスキーム名を変更した場合でも、確実に機能します。

6
jsherk

この問題は、多くの場合、古いプロジェクトでターゲットを複製した後に発生します。

Info.plistでターゲットの次を設定します。

Bundle Name = ${PRODUCT_NAME}
Bundle Display Name = ${PRODUCT_NAME}
Executable file = ${EXECUTABLE_NAME}

これらの設定でビルドして実行します。ビルドが成功したら、必要なものに変更できます。

3
A.Badger

これは私のために機能します:「Xcodeを終了して再起動します」。最近何かを更新しましたが、Xcodeのテストデバイスは次のように述べています。「iDevice」はiPhoneやiPodではありません。そのため、再起動すると、iPhoneがターゲットリストに戻りました。

1
Khang Azun

ターゲットプロパティの[バンドル名]キーの値を変更すると、このエラーが発生しました。 「%{PRODUCT_NAME}」に戻すと、問題は解決しました。

0
ediheld