Запуск на устройстве¶
Всегда полезно протестировать свое приложение на реальном устройстве, прежде чем выпускать его для пользователей. Этот документ проведет вас через необходимые шаги для запуска вашего приложения React Native на устройстве и подготовки его к производству.
Если вы использовали create-expo-app
для создания проекта, вы можете запустить свое приложение на устройстве в Expo Go, отсканировав QR-код, который отображается при запуске npm start
. Более подробную информацию см. в руководстве Expo Go запуск проекта на устройстве.
Запуск вашего приложения на устройствах Android¶
Development OS
1. Включите отладку по USB¶
Большинство устройств Android по умолчанию могут устанавливать и запускать только приложения, загруженные из Google Play. Вам нужно будет включить отладку по USB на вашем устройстве, чтобы установить ваше приложение во время разработки.
Чтобы включить отладку по USB на вашем устройстве, сначала вам нужно включить меню "Параметры разработчика", перейдя в Настройки → О телефоне → Информация о программном обеспечении, а затем семь раз коснуться строки Номер сборки
внизу. Затем вы можете вернуться в Настройки → Опции разработчика, чтобы включить "Отладку USB".
2. Подключите устройство через USB¶
Теперь давайте настроим устройство Android для запуска наших проектов React Native. Подключите устройство через USB к вашей машине разработки.
Теперь проверьте, что устройство правильно подключено к ADB, отладочному мосту Android, запустив adb devices
.
1 2 3 4 |
|
Если вы видите device
в правой колонке, это означает, что устройство подключено. Одновременно должно быть подключено только одно устройство.
Если в списке вы видите unauthorized
, вам нужно запустить adb reverse tcp:8081 tcp:8081
и нажать кнопку enable USB debugging on the device.
3. Запустите ваше приложение¶
Введите следующее в командной строке, чтобы установить и запустить ваше приложение на устройстве:
1 |
|
Если вы получаете ошибку "конфигурация моста недоступна", смотрите Использование adb reverse.
Подсказка: Вы также можете использовать React Native CLI
для генерации и запуска Release
сборки (например, npx react-native run-android --mode=release
).
Подключение к серверу разработки¶
Вы также можете быстро выполнить итерации на устройстве, подключившись к серверу разработки, запущенному на вашей машине разработки. Это можно сделать несколькими способами, в зависимости от того, есть ли у вас доступ к USB-кабелю или Wi-Fi сети.
Способ 1: Использование adb reverse (рекомендуется).¶
Вы можете использовать этот метод, если ваше устройство работает под управлением Android 5.0 (Lollipop) или новее, у него включена отладка по USB, и оно подключено через USB к вашей машине разработки.
Выполните следующие действия в командной строке:
1 |
|
Чтобы узнать имя устройства, выполните следующую команду adb:
1 |
|
Теперь вы можете включить живую перезагрузку из Dev Menu. Ваше приложение будет перезагружаться всякий раз, когда изменится код JavaScript.
Способ 2: Подключение через Wi-Fi¶
Вы также можете подключиться к серверу разработки через Wi-Fi. Сначала вам потребуется установить приложение на ваше устройство с помощью USB-кабеля, но после этого вы сможете выполнять отладку по беспроводной сети, следуя следующим инструкциям. Перед началом работы вам понадобится текущий IP-адрес вашей машины разработки.
Вы можете найти IP-адрес в Системные настройки (или Системные предпочтения) → Сеть.
- Убедитесь, что ноутбук и телефон находятся в одной и той же сети Wi-Fi.
- Откройте приложение React Native на устройстве.
- Вы увидите красный экран с ошибкой. Это нормально. Следующие шаги исправят это.
- Откройте внутреннее меню приложения Dev Menu.
- Перейдите в Настройки устройства → Хост и порт сервера отладки для устройства.
- Введите IP-адрес вашей машины и порт локального сервера отладки (например, 10.0.1.1:8081).
- Вернитесь в меню Dev Menu и выберите Reload JS.
Теперь вы можете включить живую перезагрузку из Dev Menu. Ваше приложение будет перезагружаться всякий раз, когда код JavaScript изменится.
Создание приложения для производства¶
Вы создали отличное приложение с помощью React Native, и теперь вам не терпится выпустить его в Play Store. Процесс такой же, как и для любого другого нативного приложения для Android, с некоторыми дополнительными соображениями, которые необходимо принять во внимание. Чтобы узнать больше, следуйте руководству по [созданию подписанного APK] (signed-apk-android.md).
1. Включите отладку через USB¶
Большинство устройств Android по умолчанию могут устанавливать и запускать только приложения, загруженные из Google Play. Вам нужно будет включить отладку по USB на вашем устройстве, чтобы установить ваше приложение во время разработки.
Чтобы включить отладку по USB на вашем устройстве, сначала вам нужно включить меню "Параметры разработчика", перейдя в Настройки → О телефоне → Информация о программном обеспечении, а затем семь раз коснуться строки Номер сборки
внизу. Затем вы можете вернуться в Настройки → Опции разработчика, чтобы включить "Отладку USB".
2. Подключите устройство через USB¶
Теперь давайте настроим Android-устройство для запуска наших проектов React Native. Подключите устройство через USB к вашей машине разработки.
Теперь проверьте, что устройство правильно подключено к ADB, отладочному мосту Android, запустив adb devices
.
1 2 3 4 |
|
Если вы видите device
в правой колонке, это означает, что устройство подключено. Одновременно должно быть подключено только одно устройство.
3. Запустите ваше приложение¶
Введите следующее в командной строке, чтобы установить и запустить ваше приложение на устройстве:
1 |
|
Подсказка: Вы также можете использовать React Native CLI
для генерации и запуска Release
сборки (например, npx react-native run-android --mode=release
).
Подключение к серверу разработки¶
Вы также можете быстро выполнить итерации на устройстве, подключившись к серверу разработки, запущенному на вашей машине разработки. Это можно сделать несколькими способами, в зависимости от того, есть ли у вас доступ к USB-кабелю или Wi-Fi сети.
Способ 1: Использование adb reverse (рекомендуется).¶
Вы можете использовать этот метод, если ваше устройство работает под управлением Android 5.0 (Lollipop) или новее, у него включена отладка по USB, и оно подключено через USB к вашей машине разработки.
Выполните следующие действия в командной строке:
1 |
|
Чтобы узнать имя устройства, выполните следующую команду adb:
1 |
|
Теперь вы можете включить живую перезагрузку из Dev Menu. Ваше приложение будет перезагружаться каждый раз, когда изменится код JavaScript.
Способ 2: Подключение через Wi-Fi¶
Вы также можете подключиться к серверу разработки через Wi-Fi. Сначала вам потребуется установить приложение на ваше устройство с помощью USB-кабеля, но после этого вы сможете выполнять отладку по беспроводной сети, следуя следующим инструкциям. Перед началом работы вам понадобится текущий IP-адрес вашей машины разработки.
Откройте командную строку и введите ipconfig
, чтобы узнать IP-адрес вашей машины (подробнее).
- Убедитесь, что ноутбук и телефон находятся в одной и той же сети Wi-Fi.
- Откройте приложение React Native на своем устройстве.
- Вы увидите красный экран с ошибкой. Это нормально. Следующие шаги исправят это.
- Откройте внутреннее меню приложения Dev Menu.
- Перейдите в Настройки устройства → Хост и порт сервера отладки для устройства.
- Введите IP-адрес вашей машины и порт локального сервера отладки (например, 10.0.1.1:8081).
- Вернитесь в меню Dev Menu и выберите Reload JS.
Теперь вы можете включить живую перезагрузку из Dev Menu. Ваше приложение будет перезагружаться всякий раз, когда код JavaScript изменится.
Создание приложения для производства¶
Вы создали отличное приложение с помощью React Native, и теперь вам не терпится выпустить его в Play Store. Процесс такой же, как и для любого другого нативного приложения для Android, с некоторыми дополнительными соображениями, которые необходимо принять во внимание. Чтобы узнать больше, следуйте руководству по созданию подписанного APK.
1. Включите отладку через USB¶
Большинство устройств Android по умолчанию могут устанавливать и запускать только приложения, загруженные из Google Play. Вам нужно будет включить отладку по USB на вашем устройстве, чтобы установить ваше приложение во время разработки.
Чтобы включить отладку по USB на вашем устройстве, сначала вам нужно включить меню "Параметры разработчика", перейдя в Настройки → О телефоне → Информация о программном обеспечении, а затем семь раз коснуться строки Номер сборки
внизу. Затем вы можете вернуться в Настройки → Опции разработчика, чтобы включить "Отладку USB".
2. Подключите устройство через USB¶
Теперь давайте настроим Android-устройство для запуска наших проектов React Native. Подключите устройство через USB к вашей машине разработки.
Затем проверьте код производителя с помощью lsusb
(на mac необходимо сначала установить lsusb). lsusb
должен вывести примерно следующее:
1 2 3 4 5 6 7 8 |
|
Эти линии представляют USB-устройства, подключенные в данный момент к вашему аппарату.
Вам нужна та строка, которая представляет ваш телефон. Если вы сомневаетесь, попробуйте отключить телефон от сети и запустить команду снова:
1 2 3 4 5 6 7 |
|
Вы увидите, что после удаления телефона строка с моделью телефона ("Motorola PCS" в данном случае) исчезла из списка. Это та строка, которая нас интересует.
Bus 001 Device 003: ID 22b8:2e76 Motorola PCS
.
Из приведенной выше строки нужно взять первые четыре цифры из ID устройства:
22b8:2e76
.
В данном случае это 22b8
. Это идентификатор Motorola.
Вам нужно будет ввести это в правила udev, чтобы начать работу:
1 |
|
Убедитесь, что вы заменили 22b8
на идентификатор, полученный в приведенной выше команде.
Теперь проверьте, что ваше устройство правильно подключается к ADB, отладочному мосту Android, запустив adb devices
.
1 2 3 4 |
|
Если вы видите device
в правой колонке, это означает, что устройство подключено. Одновременно должно быть подключено только одно устройство.
3. Запустите ваше приложение¶
Введите следующее в командной строке, чтобы установить и запустить ваше приложение на устройстве:
1 |
|
Если вы получаете ошибку "конфигурация моста недоступна", смотрите Использование adb reverse.
Подсказка: Вы также можете использовать React Native CLI
для генерации и запуска Release
сборки (например, npx react-native run-android --mode=release
).
Подключение к серверу разработки¶
Вы также можете быстро выполнить итерации на устройстве, подключившись к серверу разработки, запущенному на вашей машине разработки. Это можно сделать несколькими способами, в зависимости от того, есть ли у вас доступ к USB-кабелю или Wi-Fi сети.
Способ 1: Использование adb reverse (рекомендуется)¶
Вы можете использовать этот метод, если ваше устройство работает под управлением Android 5.0 (Lollipop) или новее, у него включена отладка по USB, и оно подключено через USB к вашей машине разработки.
Выполните следующие действия в командной строке:
1 |
|
Чтобы узнать имя устройства, выполните следующую команду adb:
1 |
|
Теперь вы можете включить живую перезагрузку из Dev Menu. Ваше приложение будет перезагружаться каждый раз, когда изменится код JavaScript.
Способ 2: Подключение через Wi-Fi¶
Вы также можете подключиться к серверу разработки через Wi-Fi. Сначала вам потребуется установить приложение на ваше устройство с помощью USB-кабеля, но после этого вы сможете выполнять отладку по беспроводной сети, следуя следующим инструкциям. Перед началом работы вам понадобится текущий IP-адрес вашей машины разработки.
Откройте терминал и введите /sbin/ifconfig
, чтобы узнать IP-адрес вашей машины.
- Убедитесь, что ноутбук и телефон находятся в одной и той же сети Wi-Fi.
- Откройте приложение React Native на своем устройстве.
- Вы увидите красный экран с ошибкой. Это нормально. Следующие шаги исправят это.
- Откройте внутреннее меню приложения Dev Menu.
- Перейдите в Настройки устройства → Хост и порт сервера отладки для устройства.
- Введите IP-адрес вашей машины и порт локального сервера отладки (например, 10.0.1.1:8081).
- Вернитесь в меню Dev Menu и выберите Reload JS.
Теперь вы можете включить живую перезагрузку из Dev Menu. Ваше приложение будет перезагружаться всякий раз, когда изменится код JavaScript.
Создание приложения для производства¶
Вы создали отличное приложение с помощью React Native, и теперь вам не терпится выпустить его в Play Store. Процесс такой же, как и для любого другого нативного приложения для Android, с некоторыми дополнительными соображениями, которые необходимо принять во внимание. Чтобы узнать больше, следуйте руководству по созданию подписанного APK.
Запуск вашего приложения на устройствах iOS¶
Development OS
1. Подключите устройство через USB¶
Подключите устройство iOS к Mac с помощью кабеля USB — Lightning. Перейдите в папку ios
в вашем проекте, затем откройте файл .xcodeproj
, или, если вы используете CocoaPods, откройте .xcworkspace
, внутри него с помощью Xcode.
Если вы впервые запускаете приложение на устройстве iOS, вам может потребоваться зарегистрировать устройство для разработки. Откройте меню Продукт в меню Xcode, затем перейдите в раздел Назначение. Найдите и выберите свое устройство в списке. Xcode зарегистрирует ваше устройство для разработки.
2. Настройка подписи кода¶
Зарегистрируйтесь в Apple developer account, если у вас его еще нет.
Выберите ваш проект в Навигаторе проектов Xcode, затем выберите вашу основную цель (она должна иметь то же имя, что и ваш проект). Найдите вкладку "Общие". Перейдите в раздел "Подписание" и убедитесь, что в выпадающем списке "Команда" выбран ваш аккаунт разработчика Apple или команда. Сделайте то же самое для цели tests (она заканчивается на Tests и находится ниже вашей основной цели).
Повторите этот шаг для цели Tests в вашем проекте.
3. Сборка и запуск приложения¶
Если все настроено правильно, ваше устройство будет указано как цель сборки на панели инструментов Xcode, а также появится в панели Devices (⇧⌘2
). Теперь вы можете нажать кнопку Build and run (⌘R
) или выбрать Run из меню Product. Вскоре ваше приложение будет запущено на вашем устройстве.
Если у вас возникнут проблемы, пожалуйста, посмотрите документацию Apple Launching Your App on a Device.
Подключение к серверу разработки¶
Вы также можете быстро выполнять итерации на устройстве, используя сервер разработки. Для этого достаточно находиться в той же сети Wi-Fi, что и компьютер. Встряхните устройство, чтобы открыть Dev Menu, затем включите Live Reload. Ваше приложение будет перезагружаться при каждом изменении кода JavaScript.
Устранение неполадок¶
Если у вас возникли проблемы, убедитесь, что ваш Mac и устройство находятся в одной сети и могут связаться друг с другом. Многие открытые беспроводные сети с неавторизованными порталами настроены таким образом, что устройства не могут связаться с другими устройствами в сети. В этом случае вы можете воспользоваться функцией Personal Hotspot вашего устройства. Вы также можете передать подключение к Интернету (Wi-Fi/Ethernet) с вашего Mac на ваше устройство через USB и подключиться к бандлеру через этот туннель для очень высокой скорости передачи данных.
При попытке подключения к серверу разработки вы можете получить красный экран с ошибкой, говорящий:
Connection to http://localhost:8081/debugger-proxy?role=client
timed out. Вы используете прокси-сервер узла? Если вы работаете на устройстве, проверьте, правильно ли вы указали IP-адрес в RCTWebSocketExecutor.m
.
Для решения этой проблемы проверьте следующие пункты.
1. Сеть Wi-Fi.¶
Убедитесь, что ваш ноутбук и ваш телефон находятся в одной и той же сети Wi-Fi.
2. IP-адрес¶
Убедитесь, что скрипт сборки правильно определил IP-адрес вашей машины (например, 10.0.1.123).
Откройте вкладку Report navigator, выберите последний Build и найдите IP=
, за которым следует IP-адрес. IP-адрес, который будет встроен в приложение, должен совпадать с IP-адресом вашей машины.
Сборка приложения для производства¶
Вы создали отличное приложение с помощью React Native, и теперь вам не терпится выпустить его в App Store. Процесс такой же, как и для любого другого нативного приложения для iOS, с некоторыми дополнительными соображениями, которые необходимо принять во внимание. Чтобы узнать больше, следуйте руководству по [публикации в Apple App Store] (publish-to-app-store.md).
Для создания приложения для устройств iOS требуется компьютер Mac. Также вы можете обратиться к нашему руководству environment setup guide, чтобы узнать, как создать приложение с помощью Expo CLI, который позволит вам запустить ваше приложение с помощью клиентского приложения Expo.
Для создания приложения для устройств iOS требуется компьютер Mac. Также вы можете обратиться к нашему руководству environment setup guide, чтобы узнать, как создать приложение с помощью Expo CLI, который позволит вам запустить приложение с помощью клиентского приложения Expo.