web-dev-qa-db-ja.com

xcodebuildを使用してシミュレーターでアプリをビルドして実行する

達成する目標は次のとおりです。xcodebuild.appを使用してios-simアプリケーションをビルドして実行します。

次のスクリプトを使用してアプリケーションをビルドしています。

xcrun xcodebuild \
  -scheme $XCODE_SCHEME \
  -project $XCODE_PROJECT \
  -configuration Debug \
  -destination generic/platform=iOS \
  -derivedDataPath \
  build

それを実行するために、私は使用しています

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

次のメッセージを受け取るたびに:

サービスによって指定されたプログラムには、要求されたアーキテクチャの1つが含まれていません:?

アプリが実行されないのはなぜですか?

注: Xcode(派生データに含まれるもの)から構築されたios-sim...に対して2番目のコマンド(.app)を実行すると、プロシージャは正常に動作します。

17
Lorenzo B

OK。問題を理解しました。

正しい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は製品を含むフォルダー(build)を作成します(特にDebug-iphonesimulatorを見てください)。 build dirは、xcodebuildコマンドを実行しているディレクトリ内に作成されます。

これで、ios-simコマンド(詳細については ios-sim を参照)またはsimctl(- iOS 8:ビルドを参照)を実行するために、そのフォルダーをポイントできます。カスタムシミュレーター および コマンドラインでiOSアプリをビルドして実行する 詳細)。

30
Lorenzo B