Я хочу запустить симулятор iPhone из командной строки.
до сих пор я использовал команду ниже
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/iPhone Simulator.app/Contents/MacOS/iPhone Simulator -SimulateDevice
-SimulateDevice используется для запуска определенного типа устройства
Теперь с Xcode 6 путь и приложение были изменены на
/Applications/Xcode.app/Contents/Developer/Applications/iOS Simulator.app/Contents/MacOS/iOS Simulator
но, к сожалению, опция -SimulateDevice сейчас не работает. Я могу запустить симулятор, но у меня нет возможности указать, какой из них запускать
Кто-нибудь нашел для этого альтернативы с Xcode 6?
источник
xcrun simctl
перечисляются команды. На мой взгляд, они говорят сами за себя.xcrun simctl boot <device id>
вместоxcrun instruments -w...
booted
качествеbooted
просто произвольно выбрать один из загружаемых устройств на тренажере.В Xcode 6, если вы хотите, чтобы iOS Simulator.app загружал определенное устройство при его запуске, вы можете запустить это из командной строки:
open -a "iOS Simulator" --args -CurrentDeviceUDID <DEVICE UDID>
где вы можете выяснить UDID устройства, с которого хотите загрузиться:
xcrun simctl list
В Xcode 7 приложение было переименовано в Simulator.app, поэтому вам следует обновить указанное выше, чтобы:
open -a Simulator --args -CurrentDeviceUDID <DEVICE UDID>
источник
/usr/bin/xcrun simctl list
перечисляем симуляторы, доступные для обычного Xcode. Тем не менее,open -a "iOS Simulator"
запускается бета-симулятор 6.2, который ожидает идентификаторы устройств из бета-симулятора. Как я могу указать, какой симулятор запускаю (обычный или бета-версию)?defaults read com.apple.iphonesimulator
и переопределить любые из них в командной строке. Simulator.app использует только UDID для однозначной идентификации устройств. Вы не можете использовать это имя.Для xcode 7:
open /Applications/Xcode.app/Contents/Developer/Applications/Simulator.app --args -CurrentDeviceUDID <DeviceUDID>
Получите свой симулятор udid's от
xcrun simctl list
источник
Чтобы запустить симулятор с конкретным загруженным устройством, я использую подкоманду list devices, чтобы получить список всех доступных устройств.
эта команда выведет список доступных устройств с их UDID и статусами
Затем я запускаю приложение-симулятор, указав устройство с параметром -CurrentDeviceUDID.
ПРИМЕЧАНИЕ: замените действительным UDID из списка.
Например, если мы хотим запустить симулятор с Ipad (% поколение загружено):
ОБНОВЛЕНИЕ 23.05.2018
С Xcode 9.3 опция CurrentDevice UDID у меня не работает, в качестве временного решения я должен использовать simctl для загрузки устройства в симуляторе, прежде чем открывать его.
Вы можете создавать, стирать, удалять, загружать, завершать работу и обновлять симуляторы с помощью simctl.
Чтобы получить список допустимых типов устройств и времени выполнения
источник
Чтобы загрузить симулятор:
Он загрузится как безголовый режим. Чтобы симулятор стал видимым:
xcrun simctl boot
проще чемxcrun instruments -w
.instruments
требуется полное имя устройства.источник
Вы можете указать аппаратное обеспечение и версию iOS с помощью флага -w. Формат
Например:
instruments -w "iPhone Retina (3.5-inch) - Simulator - iOS 7.1"
.Вы получите доступные комбинации аппаратного обеспечения и iOS, используя
instruments -w help
команду.источник
instruments -s devices
чтобы получить список устройств. Однако, если у вас есть имя устройства, простой вызовinstruments -w <device>
, скорее всего, приведет к ошибке, поскольку инструменты попытаются записать трассировку в корень вашего диска. Вы можете указать путь для трассировки, в которую она будет успешно записывать.-D
чтобы указать выходной каталог для документов .trace.Проверено в Xcode 9.4.1
Список устройств в ДЕЙСТВИТЕЛЬНО КЛАССНОМ ФОРМАТЕ:
~/Library/Developer/CoreSimulator/Devices/device_set.plist
Затем вы хотите запустить (открыть) свое приложение Simulator и убедиться, что запущен новый экземпляр приложения.
Приложение находится здесь:
/Applications/Xcode.app/Contents/Developer/Applications/Simulator.app
И формат, который вы бы использовали, такой:
open -n -a <SimulatorPath> --args -CurrentDeviceUDID <SimDeviceTypeUDID>
Итак, если бы я хотел запустить Симулятор, описанный выше, я бы сделал это.
open -n -a /Applications/Xcode.app/Contents/Developer/Applications/Simulator.app --args -CurrentDeviceUDID AB335FAF-E3E3-4AE9-A0AF-D1C6AEB5FBD4
Горячая чертовски! Я только что протестировал его, и он работает на Mac OS 10.11.6. Теперь следующий трюк - сказать симулятору открыть наше установленное приложение. Я еще не там. Надеюсь это поможет. Спасибо https://stackoverflow.com/users/726106/jeremy-huddleston-sequoia за его подробное объяснение.
источник
Запустите эту команду. Приложение будет перезапущено с последующими изменениями. Не нужно заново его перестраивать.
Для списка devicetypeid:
источник