Могу ли я запустить свое приложение Expo одновременно на нескольких симуляторах iOS? - PullRequest
0 голосов
/ 25 декабря 2018

Можно ли запустить приложение Expo на нескольких версиях iOS Simulator одновременно?Было бы очень хорошо, чтобы два или три iPhone обновлялись автоматически, чтобы было легко протестировать макет с разными размерами экрана.

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

1 Ответ

0 голосов
/ 03 января 2019

Эта команда:

expo-cli ios

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

Предполагается, что приложение Viewer Expo установлено и используются порты по умолчанию, эта командапозволяет открыть его на определенном симуляторе:

xcrun simctl openurl <some-device-id> exp://127.0.0.1:19000

Запуск Экспо на нескольких симуляторах

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

Поскольку каждый день перезапускать выбранные тренажеры с нуля несколько затруднительно, вот небольшой сценарий оболочки, который автоматически запускает три конкретных симулятора на основе идентификаторов их устройств и открывает на них приложение Expo:

#!/bin/bash
declare -a simulators=("0FAE2F92-9EF7-4C4A-8F9D-097A056F8CC0" "BFCDD662-E4DE-4C08-9DF6-CAACA7C00CEC" "1A6959A0-C10F-474B-96C5-7E8955FBDD80")

for i in "${simulators[@]}"
do
    xcrun instruments -w $i
    #xcrun simctl install $i ~/.expo/ios-simulator-app-cache/Exponent-2.9.0.app
    xcrun simctl openurl $i exp://127.0.0.1:19000      
done

Здесь вы можете увидеть три разных идентификатора симулятора в массиве.Конечно, вы должны использовать свои собственные идентификаторы устройств симуляторов, которые вы хотите использовать.

Кстати: если вы однажды установили Exponent-xxxapp, он будет доступен в скрытой папке в вашем домашнем каталоге.Поэтому, позвонив по номеру:

xcrun simctl install <some-device-id> ~/.expo/ios-simulator-app-cache/Exponent-2.9.0.app

, вы даже можете установить приложение Expo в конкретном симуляторе (см. Также строку с комментариями в сценарии оболочки выше) из командной строки.

Как определить идентификаторы симулятора

xcrun simctl list

Отображает соответствующий идентификатор устройства для каждого симулятора.

Небольшое примечание: Со временем появятся несколько записей симулятора, которые больше не будут доступны после обновления.Чтобы удалить их с помощью простой команды, выполните следующие действия:

xcrun simctl delete unavailable

Demo

Вот краткая демонстрация сценария:

  • запущены три симулятора
  • приложение Expo открыто

Затем изменяется исходный код демонстрационного приложения.Все три симулятора обновляются одновременно.

demo of multiple iOS simulators

...