Есть ли способ закрыть iOS Simulator из командной строки? - PullRequest
12 голосов
/ 09 ноября 2011

Есть ли способ выйти из iOS Simulator через скрипт командной строки?

Справочная информация:

Я настраиваю среду непрерывной интеграции, чтобы сборки iOS могли автоматически компилироваться и тестироваться. В рамках этого я выполняю сценарии с использованием инструмента автоматизации пользовательского интерфейса Apple в рамках Instruments.

Мне удалось автоматизировать выполнение скриптов на симуляторе iOS, запустив инструменты из командной строки, НО теперь я хочу автоматизировать выход из симулятора.

Я попробовал какой-нибудь Apple Script, похожий на этот пост: Как я могу сбросить iOS Simulator из командной строки? , но получил ошибку «Доступ для вспомогательных устройств отключен». Надеюсь, есть более простой способ?

Ответы [ 5 ]

24 голосов
/ 20 июля 2015

Для Xcode 7+ команда killall "Simulator".

20 голосов
/ 09 ноября 2011

killall "iOS Simulator" в Терминале закроет его.

Кроме того, вы можете запустить его с iphonesim , чтобы иметь больше контроля над ним, включая изменение источника в соответствии с вашими потребностями.

12 голосов
/ 10 ноября 2011

Попробуйте это:

osascript -e 'tell app "iOS Simulator" to quit'
3 голосов
/ 19 декабря 2014

Объединение некоторых команд для XCode 6:

killall "iOS Simulator" 

xcrun simctl list | grep Booted | awk -F "[()]" '{ for (i=2; i<NF; i+=2) print $i }' | grep '^[-A-Z0-9]*$' | xargs -I uuid xcrun simctl shutdown uuid

xcrun simctl list | awk -F "[()]" '{ for (i=2; i<NF; i+=2) print $i }' | grep '^[-A-Z0-9]*$' | xargs -I uuid xcrun simctl erase uuid

open /Applications/Xcode.app/Contents/Developer/Applications/iOS\ Simulator.app
0 голосов
/ 09 ноября 2011

На основе этого сценария вы можете создать его следующим образом:

tell application "iPhone Simulator"
    activate
end tell

tell application "System Events"
    tell process "iPhone Simulator"
        tell menu bar 1
            tell menu bar item "iOS Simulator"
                tell menu "iOS Simulator"
                    click menu item "Quit iOS Simulator"
                end tell
            end tell
        end tell
    end tell
end tell

Ошибка вспомогательных устройств также может возникнуть при этом.Чтобы это исправить, вам нужно перейти в Системные настройки, Универсальный доступ и поставить галочку «Включить доступ для вспомогательных устройств»

...