Запуск iPhone/iPad Simulator для непрерывной интеграции
Я пытаюсь запустить iOS-симулятор из командной строки. Я нашел место, где может быть запущен iPhone Simulator. Мой вопрос заключается в том, может ли он получать параметры, чтобы указать, какое устройство должно быть запущено, и какое приложение должно запускаться.
$ ./Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/iPhone Simulator.app/Contents/MacOS/iPhone\ Simulator
Кто-нибудь знает, есть ли уловки. Знание об этом действительно поможет в процессе непрерывной интеграции.
Теперь мы используем WaxSim для автоматизации наших приложений iOS во время сборки CI
Ответы
Ответ 1
Используйте аргумент -SimulateApplication для запуска исполняемого файла в симуляторе (исполняемый файл внутри пакета .app)
(вы также можете скомпилировать проект из командной строки следующим образом:)
xcodebuild -project Test.xcodeproj -arch i386 -sdk iphonesimulator
Тогда, например:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/iPhone\Simulator.app/Contents/MacOS/iPhone\Simulator -SimulateApplication Test.app/Test
или
./Разработчик/Платформы/iPhoneSimulator.platform/Разработчик/Приложения/iPhone Simulator.app/Contents/MacOS/iPhone\Simulator -SimulateApplication Test.app/Test
Ответ 2
Для запуска определенного устройства вы можете:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/iPhone\Simulator.app/Contents/MacOS/iPhone\Simulator -SimulateDevice "iPhone Retina (3,5 дюйма)"
Ответ 3
Попробуйте это в своей оболочке для Xcode 6
osascript -e 'activate application "iOS Simulator"'
Для Xcode 7
osascript -e 'activate application "Simulator"'
Ответ 4
Если вы хотите открыть Simulator с установленным конкретным приложением, вы можете использовать часть готовой утилиты для запуска симулятора. Таким образом, легко установить приложение и запустить на симуляторе. Это утилиты командной строки, которые можно запускать из окна терминала.
И главное, все использует тот же подход к открытому симулятору. (подробнее см. проект)
Другой способ (не рекомендуется мной) использовать script файл для запуска из команды.
Ответ 5
Вы можете использовать xcrun simctl
для отображения доступных симуляторов, запуска приложений и т.д. Этот инструмент присутствует как в Xcode 7, так и в Xcode 8. Если вы не дадите ему команду, он будет распечатывать справку по командной строке.
xcrun simctl launch <UUID> <bundle id of app>
запустит приложение.