Существует способ сделать это легко без использования нескольких пользователей. Имейте в виду, что вы не будете подключены к отладчику. Помните, что приведенное ниже объяснение предназначено для XCode 6 + . Вы можете пропустить это объяснение и просто прокрутить вниз к разделу обертывания ниже.
Из ответа здесь видно, что вы можете запустить любой симулятор из командной строки:
open -a "iOS Simulator" --args -CurrentDeviceUDID
Вы можете найти ID устройства (а также все ваши симуляторы), запустив команду xcrun simctl list
на консоли. Это создаст список, как это. Идентификатор устройства - это код в скобках:
== Runtimes ==
iOS 8.3 (8.3 - 12F69) (com.apple.CoreSimulator.SimRuntime.iOS-8-3)
== Devices ==
-- iOS 8.3 --
iPhone 4s (99Z06AC6-A2D6-46E7-B4F7-BA4F5F3F39C8) (Shutdown)
iPhone 5 (K262AF11-ADD2-4FDA-ACBA-8C80DD9D4AA1) (Shutdown)
iPhone 5s (337KDC51-0A4B-47DB-8966-83562FD92C93) (Shutdown)
iPhone 6 Plus (9GK714E2-F713-4F98-A96E-C72ACD6571A8) (Shutdown)
-- iOS 8.2 --
etc continued....
Поэтому для запуска симулятора, используя приведенный выше пример, выполните следующую команду на консоли:
open -n /Applications/Xcode.app/Contents/Developer/Applications/iOS\ Simulator.app/ --args -CurrentDeviceUDID '99Z06AC6-A2D6-46E7-B4F7-BA4F5F3F39C8'
Вместо этого мы используем флаг -n
, поскольку флаг -a
указывает приложение, используемое для открытия файла, в то время как флаг -n
открывает новый экземпляр приложений, даже если он уже запущен. Используйте команду man open
, чтобы узнать все это.
Также убедитесь, что у вас есть правильный путь для вашего симулятора.
Еще одна вещь, которую стоит отметить, если вы запустите симулятор таким образом, есть вероятность, что у вас есть ограниченные симуляторы. А поскольку он ограничен, вы можете запустить его, не прерывая тот, который уже находится на экране. Мы можем решить это из этого ответа здесь , где он показывает, как create a new simulator and delete one.
Итак, завершая все это, вот что вы делаете, чтобы запустить их.
A) Сначала создайте симулятор перед его запуском.
Использование: simctl create "name" "id типа устройства" "id времени выполнения"
xcrun simctl create "mynewsimulator" "iPhone 6" "com.apple.CoreSimulator.SimRuntime.iOS-8-3"
Вы найдете идентификатор времени выполнения команды xcrun simctl list
, которую я запускал выше. После выполнения вышеуказанной команды идентификатор устройства будет напечатан на экране консоли. Примите это к сведению, так как вам потребуется последний аргумент для запуска симулятора, показанного ниже. Давайте предположим, что этот идентификатор был 99Z06AC6-A2D6-46E7-B4F7-BA4F5F3F39C8
B) запустить его
open -n /Applications/Xcode.app/Contents/Developer/Applications/Simulator.app/ --args -CurrentDeviceUDID '99Z06AC6-A2D6-46E7-B4F7-BA4F5F3F39C8'
C) удалите его, как только вы закончите с вашим симулятором
xcrun simctl delete 99Z06AC6-A2D6-46E7-B4F7-BA4F5F3F39C8
Все это может быть помещено в один файл .sh для удобства работы.
Обратите внимание, что после каждой команды нужно помещать команды wait
или sleep
, если вы решили поместить все это в файл sh.
[РЕДАКТИРОВАТЬ 2017]
Я вижу, что XCode 9 теперь будет поддерживать несколько симуляторов. В ожидании, чтобы увидеть, как все это будет работать.