2015-11-30 2 views
13

У меня есть следующая цель: создать и запустить приложение .app с использованием xcodebuild и ios-sim.Создайте и запустите приложение на симуляторе с помощью xcodebuild

Я использую следующий скрипт для создания приложения.

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" 

Каждый раз я получаю следующее сообщение:

Программа заданной службой не содержит один из запрошенных архитектур :?

Что происходит, что приложение не запускается?

Примечание: если я запускаю вторую команду (ios-sim...) против .app построено из Xcode (содержащийся в полученных данных) процедура работает отлично.

+0

Из-за чистого любопытства, почему вы делаете это вместо того, чтобы просто работать и строить проект в XCode? –

+0

У вас есть этот симулятор? из ошибки, похоже, что конкретное устройство, которое вы пытаетесь запустить, не существует в вашей машине –

+1

@HaydenHolligan Требуется для автоматизации тестирования. –

ответ

20

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). В директории, в которой вы используете команду xcodebuild, создается директория build.

Теперь вы можете указать эту папку для запуска команды ios-sim (см ios-sim для более ссылок) или simctl (см iOS 8: Building custom simulators и Build And Run iOS Apps In Commmand Line для получения дополнительной информации).

+0

как пройти такой же симулятор с разными идентификаторами в -определении? –

+0

Как у меня есть 2 имитаторы IPADS я) Платформа: IOS Simulator, ID: 0F9084E0-4E0D-43F7-AD3D-AB959744BD09, ОС: 9.3, имя: IPad 2 II) Платформа: IOS Simulator, ID: 4E05355C-EF57 -4771-96D4-0F9FCF24A0D2, ОС: 9.3, имя: iPad 2 –

+0

Как запустить проект на основе рабочей области, т. Е. Проект, содержащий проекты с несколькими контейнерами. Вставьте здесь полную команду, чтобы запустить aworkspace –