Mac Simulator (Xcode) ждет команды запуска - PullRequest
0 голосов
/ 21 сентября 2018

В Android я могу запустить это, чтобы запустить эмулятор

emulator @NAME

и это дождаться полной загрузки и быть готовым к использованию

adb wait-for-device

Есть ли эквивалент для iOSСимулятор на Mac?Я использую симулятор Xcode по умолчанию.Итак, запустите симулятор

xcrun simctl boot deviceID

и дождитесь его полной загрузки ( просто пример того, о чем я думаю )

xcrun simctl wait deviceId

Ответы [ 2 ]

0 голосов
/ 23 мая 2019

Существует не совсем задокументированная команда simctl xcrun simctl bootstatus deviceID

. Она не отображается в нормальном выводе xcrun simctl help, но имеет xcrun simctl help bootstatus

По моим собственным играм с ним, если вы вызываете его, когда выходит команда bootstatus, ваш симулятор должен быть полностью работоспособным.Но так как это точно не задокументировано, ваш пробег может отличаться.

xcrun simctl help bootstatus
Checks device boot status.
Usage: simctl bootstatus <device> [-bc]
    -b       Boot the device if it isn't already booted.
    -c       Continuously monitor boot status through multiple boot/shutdown cycles.

Monitors the specified device and prints boot status information until the device finishes booting. You can safely call this before you attempt to start booting the device.
/usr/bin/xcrun simctl bootstatus 88668721-0DF0-4167-8F3E-37190E8099C1
Monitoring boot status for AutomationDevice - iPad Air 2 - iOS 11.4 (88668721-0DF0-4167-8F3E-37190E8099C1).
[2019-05-23 03:50:56 +0000] Status=2, isTerminal=NO, Elapsed=00:00.
    Waiting on Data Migration
        Reason:(null)
        Migration Elapsed:00:00 seconds

[2019-05-23 03:50:56 +0000] Status=2, isTerminal=NO, Elapsed=00:01.
    Waiting on Data Migration
        Reason:Running plugin com.apple.MobileContainerManager.ContainerMigrator (ContainerMigrator.migrator, user-agnostic)
        Migration Elapsed:00:00 seconds

[spaaaaaaam...]

[2019-05-23 03:51:06 +0000] Status=2, isTerminal=NO, Elapsed=00:11.
    Waiting on Data Migration
        Reason:Running plugin com.apple.iTunesStore.migrator (iTunesStore.migrator)
        Migration Elapsed:00:10 seconds

[2019-05-23 03:51:08 +0000] Status=1, isTerminal=NO, Elapsed=00:12.
    Waiting on BackBoard

[2019-05-23 03:51:12 +0000] Status=4, isTerminal=NO, Elapsed=00:16.
    Waiting on System App

[2019-05-23 03:51:12 +0000] Status=4294967295, isTerminal=YES, Elapsed=00:17.
    Finished
0 голосов
/ 30 апреля 2019

Я нашел ответ, который отлично работает для меня.Я использую "xcrun simctl spawn <UDID> launchctl print system | grep com.apple.springboard.services" и ищу эти значения в выводе:

"M   A   com.apple.springboard.services"
"U   A   com.apple.backboardd"
"M   D   com.apple.medialibraryd"
"M   A   com.apple.mobile.installd"
...