2015-11-30 9 views
13

を使用して、シミュレータ上でアプリケーションを実行するには、私が達成するために、次の目標を持っています。ビルドとxcodebuild

次のスクリプトを使用してアプリケーションを構築しています。サービスによって指定された

プログラムが要求 アーキテクチャのいずれかが含まれていない:、私は

ios-sim launch MyApp.app/ --devicetypeid "iPhone-6-Plus, 9.1" 

私は次のメッセージを受け取るたびに使用してい

それを実行するためのその後
xcrun xcodebuild \ 
    -scheme $XCODE_SCHEME \ 
    -project $XCODE_PROJECT \ 
    -configuration Debug \ 
    -destination generic/platform=iOS \ 
    -derivedDataPath \ 
    build 

:?

何が起こっている、アプリが実行されていないのですか?

注:私はXcodeの(派生データに含まれている1)から構築.appに対して2番目のコマンド(ios-sim...)を実行する場合の手順は、正常に動作します。

+0

純粋な好奇心のために、XCodeでプロジェクトを実行してビルドするのではなく、なぜこれをやっていますか? –

+0

このシミュレータをインストールしてもよろしいですか?このエラーから、実行しようとしている特定のデバイスがマシンに存在しないように見えます –

+1

@HaydenHolliganテスト自動化を行うために必要です。 –

答えて

20

問題を解明

正しいdestinationを指定する必要があります。例えば。

xcrun xcodebuild \ 
    -scheme $XCODE_SCHEME \ 
    -project $XCODE_PROJECT \ 
    -configuration Debug \ 
    -destination 'platform=iOS Simulator,name=iPhone 6 Plus,OS=9.1' \ 
    -derivedDataPath \ 
    build 

このように、Xcodeは(Debug-iphonesimulatorで特に見に)あなたの製品を含む(buildと呼ばれる)のフォルダが作成されます。 build dirは、xcodebuildコマンドを実行しているディレクトリ内に作成されます。

今、あなたはios-simコマンドを実行するために(複数の参照用ios-simを参照)またはsimctl(詳細はiOS 8: Building custom simulatorsBuild And Run iOS Apps In Commmand Lineを参照)にそのフォルダを指すことができます。

+0

-destinationの異なるIDを持つ同じシミュレータをどのように渡すのですか? –

+0

私はiPadでの2つのシミュレータを持っているよう I)プラットフォーム:iOSシミュレータ、ID:0F9084E0-4E0D-43F7-AD3D-AB959744BD09、OS:9.3、名前:IIのiPad 2 )プラットフォーム:iOSシミュレータ、ID:4E05355C-EF57 -4771-96D4-0F9FCF24A0D2、OS:9.3、名前:iPad 2 –

+0

ワークスペースベースのプロジェクト、つまり複数のポッドプロジェクトを含むプロジェクトを実行する方法。ここに貼り付けてください。-workspaceを実行するための完全なコマンド –

関連する問題