web-dev-qa-db-ja.com

Xcodeはプロジェクトをビルドできますが、シミュレータで実行できません

Webからプロジェクトをダウンロードすると、ビルドできても実行されない場合があります(XCode->製品->実行は灰色で無効になっています)。自分でプロジェクトを作成するとき、これは決して起こりません。何が問題なのでしょうか?それは何らかの形でバージョンに関連していますか?私はiOS開発の初心者であり、勉強のためにWebからプロジェクトをダウンロードしています。シミュレーターでテストできないのは残念です。

41
Eugene Chumak

一般に、プロジェクトを実行できない場合は、次のいずれかを実行します。

  • 「実行」の方法を知っているビルドスキームはありません。プロファイル名とターゲットデバイスが表示されていることを実行/停止ボタンの横の上部で確認します。ボックスにNo Schemeその後、それをクリックして、新しいスキームを作成します。 ISスキームの場合、ドロップダウンメニュー(Xcode 4.2+の左の仕切り、それ以外の場合はボックスの任意の場所)をクリックし、[スキームの編集]に移動してスキームが正しく設定されたことを確認しますランニング用

  • ビルド構成セットはありません。これは、ビルドスキームの[実行]セクションに表示されます。 1つが選択されていることを確認します。リストが空の場合、左端のペインの上部にあるプロジェクトアイコンに移動し、プロジェクトを選択して、情報セクションに移動し、ビルド構成を作成します。ただし、プロジェクトをビルドできる場合は、少なくとも1つはあるはずです。

  • 実行可能なターゲットがまったくありません。これは、OTHERで使用する静的ライブラリまたはフレームワークにコンパイルするプロジェクトを持っていることを意味する場合がありますプロジェクト。この場合、ビルドターゲットのアイコンが黄色のツールボックス(フレームワーク)、または小さな白い建物(「ライブラリ」)として表示されるはずです。ただし、私にとっては nited States Supreme Court建物 )。

  • ターゲットはシミュレーターに対して有効ではありません。つまり、i386を実行する前に、ターゲット上のArchitecturesおよびValid Architecturesのリストに追加します

  • ターゲットは現在接続されているデバイスに対して無効です。これについては、デバイスのバージョンiOSに対して有効になるように展開ターゲット番号が十分に設定されていることを確認してください。

  • Xcodeは接続されたデバイスを見ることができません。プラグを抜いてもう一度接続してみてください。まだ認識されない場合は、Xcodeに追加していない可能性があります(ウィンドウ->デバイス->デバイスの選択->開発に使用)

99
darvids0n

スキームの編集([停止]ボタンの隣のプロジェクト名->スキームの編集)で、[実行]メニュー選択の[情報]タブで、.appが実行可能ファイルとして選択されていることを確認します。この問題が発生し、プロジェクト名をリファクタリングし、ビルドターゲットを再構成した後に発生した「なし」が選択されました。

32
luoser

展開設定(iosバージョン)がxcodeでサポートされているものよりも高いプロジェクトをダウンロードできます。これがあなたの状況であれば、問題を解決する2つのオプションがあります。

  1. 古い展開オプションでプロジェクトを実行してください。次の指示に従ってください(プロジェクトが上位バージョンに設定されているだけで、上位バージョンの機能を使用していない場合。このアプローチは機能します):xcodeでプロジェクトファイルを選択>実行するターゲットを選択>セクションで概要タブを選択> 「iOSアプリケーションターゲット」>「展開ターゲット」に関するコンボボックスで、Xcodeがサポートするバージョンを選択します。そして、シミュレータでプロジェクトを選択して実行できます。

  2. プロジェクトが上位バージョンの機能を使用している場合は、プロジェクトを実行するためにXcodeを更新する必要があります。

お役に立てれば!

4
john fantasy

私の場合、問題は本当に簡単でした。「製品」>「スキーム」>「スキームを編集」>「実行」メニューで「起動:自動」チェックをオンにする必要がありました。

この設定がチェックされていなかった場合、アプリケーションを起動するシミュレーターでアプリのアイコンが見つかりません。

1
Anton Malyshev

Go-> Project-> Architectures-> Architecture = select standard architectures(armv7、arm64)...の場合.

と同じ

Go-> Target-> Architectures-> Architecture = select standard architectures(armv7、arm64)...

0