Есть ли способ имитировать несколько iphones с помощью Xcode / iphone sim?

Я планирую игру, которая требует нескольких пользователей, и мне было интересно, есть ли способ запустить несколько экземпляров симулятора iPhone. Я не видел ничего в меню или в результатах поиска Google, но я просто хотел убедиться, что ничего не пропустил.

10 ответов


насколько я могу судить, Вы не только не можете иметь несколько экземпляров симулятора, но когда придет время для фактического тестирования устройства, вы также не можете иметь несколько экземпляров отладчика.

Это означает, что для работы приложений с несколькими устройствами вам понадобится один Mac, назначенный одному устройству iPhone / touch (или экземпляру симулятора), на каждом из которых работает ваше приложение.

Я начал изучать, можно ли каким-то образом вовлечь VMWare или Parallels в это, но там не так много, что можно сделать без взлома ОС.

Я предлагаю подать запрос на функцию с http://bugreporter.apple.com.


Это возможно, но только с несколькими пользователями.

прочитайте это:http://www.coderebel.com/2010/08/31/iphone_simulator

предполагая, что у вас есть два проекта (P1,P2), которые вы хотите отлаживать одновременно, сделайте следующее.

настройка:

  1. создайте нового пользователя (U2) на вашем Mac
  2. дайте ему R/W доступ к P2, особенно к его папке сборки.
  3. загрузите приложение launcher с сайта выше и скопируйте его в приложения.

шаги для отладки:

  1. закрыть Xcode и симулятор, если работает
  2. запустите программу запуска iPhone.приложение с У1.
  3. запустите Xcode с U1, загрузите P1, начните отладку.
  4. запустите программу запуска iPhone.приложение У2.
  5. запустите Xcode с U2, загрузите P2, начните отладку.

к сожалению, это P. I. T. A., который должен время от времени менять пользователей, но так лучшего решения я не нашел. Надеюсь, это поможет.


есть способ сделать это легко, без использования несколькими пользователями. Имейте в виду, что вы не будете подключены к отладчику. Имейте в виду, что объяснение ниже для XCode 6+. Вы можете пропустить это объяснение и просто прокрутите вниз до раздела "упаковка-это-вверх" ниже.

из ответа здесь мы видим, что вы можете запустить любой симулятор из командной строки:

открыть - "симулятор iOS" --args-CurrentDeviceUDID

вы можете найти deviceID (а также все ваши симуляторы), запустив


другой вариант (хотя, вероятно, излишний), если у вас есть лицензия Mac OS X server, - виртуализировать экземпляр Mac OS X Server и запустить второй симулятор в виртуальной машине.


Мда...Не думаю, что вы что-то упускаете. Насколько я знаю, в SDK нет технологии, способной эмулировать несколько устройств , хотя это было бы полезной функцией. Я думаю, что ваши единственные варианты - получить второе устройство iPhone OS или получить друга, у которого также есть устройство iPhone OS, чтобы вы могли использовать его для тестирования.


в XCode 4 Вы можете запускать несколько экземпляров, находясь в режиме отладки.

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


выполните следующие действия, чтобы проверить приложение.

сначала вы должны сделать одну вещь для всего процесса : Перейдите в Project - > Edit Project Settings - > tick on option-параллельно создавайте независимые цели.

  1. отладочный код, который создаст ваше приложение в симуляторе, например, ваше имя приложения-Instance
  2. Закрыть Симулятор
  3. перейти к проекту - >новая цель - > Instance2 Добавьте "отображаемое имя пакета: Instance2" в Instance2.информация.файл plist Набор Исполняемых Название : Экземпляр2 Выберите цель Instance2 - > перейти к проекту - > установить активную цель - > Instance2 Сборка с Instance2

Примечание: все тщательно, иначе вам придется сбросить симулятор Для сброса Simulator - > Run Simulator - > iPhone Simulator - > сброс содержимого и настроек...

теперь у вас есть два приложения в симуляторе и вы можете протестировать приложение на всех экземпляр.

надеюсь, это поможет вам:)


мне удалось заставить его работать, совмещая ответ Ivsty С этот.

в основном, вы создаете двух пользователей (A и B), запускаете симуляторы в каждом из них, запускаете сервер VNC на пользователе B, а затем подключаетесь от пользователя A к экрану доступа B без необходимости переключения пользователей.


поддерживается с Xcode 9 on.

(источник: WWDC 2017)


Да, теперь это возможно и довольно легко. Единственное, что вам нужно-это xctool, инструменты сборки из Facebook и ruby gem. Ruby gem помогает создать / уничтожить симулятор, необходимый во время теста.

вы можете прочитать полную документацию по этой ссылке:

https://github.com/plu/parallel_ios_tests

Я использую этот подход, и я запускаю свой тест на 4 iOS simulator в то же время.