web-dev-qa-db-fra.com

Créez et exécutez une application sur un simulateur à l'aide de xcodebuild

J'ai le but suivant à atteindre: construire et exécuter un .app application utilisant xcodebuild et ios-sim.

J'utilise le script suivant pour créer l'application.

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

Ensuite, pour l'exécuter, j'utilise

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

Chaque fois que je reçois le message suivant:

Le programme spécifié par le service ne contient pas l'une des architectures demandées:?

Que se passe-t-il, que l'application ne fonctionne pas?

Remarque: si j'exécute la deuxième commande (ios-sim...) contre la .app construit à partir de Xcode (celui contenu dans les données dérivées), la procédure fonctionne correctement.

17
Lorenzo B

D'accord. Compris le problème.

Vous devez spécifier le destination correct. Par exemple.

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

De cette façon, Xcode créera le dossier (appelé build) contenant vos produits (en particulier regardez Debug-iphonesimulator). Le répertoire build est créé dans le répertoire dans lequel vous exécutez la commande xcodebuild.

Vous pouvez maintenant pointer ce dossier afin d'exécuter le ios-sim commande (voir ios-sim pour plus de références) ou simctl (voir iOS 8: construction de simulateurs personnalisés et Build And Run iOS Apps In Commmand Line pour plus d'informations).

30
Lorenzo B