Разработка приложений Android с помощью React Native
Это руководство поможет вам начать работу с React Native в Windows для создания кросс-платформенных приложений, которые будут работать на устройствах Android.
Обзор
React Native — это платформа для разработки мобильных приложений с открытым кодом, созданная Facebook. Она используется для разработки приложений для Android, iOS, Интернета и UWP (Windows). Решение предоставляет собственные элементы управления пользовательского интерфейса и полный доступ к собственной платформе. Для работы с React Native требуется понимание основ JavaScript.
Начало работы с React Native путем установки требуемых средств
- Установите Visual Studio Code (или любой другой редактор кода).
- Установите Android Studio для Windows. По умолчанию Android Studio устанавливает последнюю версию пакета SDK для Android. React Native требует пакета SDK для Android 6.0 (Marshmallow) или более поздней версии. Мы рекомендуем использовать последнюю версию пакета SDK.
- Создайте пути к переменным среды для пакетов SDK для Java и Android:
- В меню поиска Windows введите: «изменить системные переменные среды». Откроется окно Свойства системы.
- Выберите элемент Переменные среды и нажмите кнопку Создать в разделе Пользовательские переменные.
- Введите имя и значение переменной (путь). Ниже приведены пути по умолчанию для пакетов SDK для Java и Android. Если вы выбрали определенное расположение для установки пакетов SDK для Java и Android, обязательно обновите пути к переменной соответствующим образом.
- JAVA_HOME: C:\Program Files\Android\Android Studio\jre\bin
- ANDROID_HOME: C:\Users\имя_пользователя\AppData\Local\Android\Sdk
Кроме того, вы можете установить и использовать Терминал Windows для работы с удобным для вас интерфейсом командной строки (CLI), а также Git для управления версиями. Java JDK поставляется с Android Studio версии 2.2 и выше, но, если вам нужно обновить JDK отдельно от Android Studio, используйте установщик Windows x64.
Создание нового проекта с помощью React Native
- Используйте npx, средство запуска пакетов, которое устанавливается вместе с npm, чтобы создать новый проект React Native из командной строки Windows, PowerShell, Терминала Windows, или встроенного терминала в (Вид > Встроенный терминал).
npx react-native init MyReactNativeApp
Если вы хотите запустить новый проект с определенной версией React Native, можно использовать —version аргумент. Сведения о версиях React Native см. в разделе «Версии React Native».
npx react-native@X.XX.X init --version X.XX.X
cd MyReactNativeApp
npx react-native run-android
Примечание. Если вы используете новую установку Android Studio и еще не разрабатывали приложения Android, при запуске приложения на этапе принятия лицензий для пакета SDK для Android в командной строке могут возникнуть ошибки. Например, «Предупреждение: лицензия на пакет android SDK Platform 29 не принимается». Чтобы устранить эту проблему, можно нажать кнопку диспетчера пакетов SDK в Android Studio . Кроме того, вы можете перечислить и принять лицензии с помощью следующей команды, используя путь к расположению пакета SDK на компьютере.
C:\Users\[User Name]\AppData\Local\Android\Sdk\tools\bin\sdkmanager --licenses
> Edit >App.js to change this screen and then come back to see your edits. HELLO WORLD!
- В окне консоли средства увязки в пакеты Metro введите r.
- В эмуляторе устройства Android дважды коснитесь r на клавиатуре.
- Дважды встряхните физическое устройство Android, чтобы открыть меню отладки React Native, и выберите команду Reload (Перезагрузить).
Дополнительные ресурсы
- Разработка приложений для двойного экрана для Android и получение пакета SDK для устройства Surface Duo
- Добавление исключений Защитника Windows для повышения производительности
- Включение поддержки виртуализации для повышения производительности эмулятора
Запуск на устройстве¶
Всегда полезно протестировать свое приложение на реальном устройстве, прежде чем выпускать его для пользователей. Этот документ проведет вас через необходимые шаги для запуска вашего приложения React Native на устройстве и подготовки его к производству.
Если вы использовали create-expo-app для создания проекта, вы можете запустить свое приложение на устройстве в Expo Go, отсканировав QR-код, который отображается при запуске npm start . Более подробную информацию см. в руководстве Expo Go запуск проекта на устройстве.
Android iOS
Запуск вашего приложения на устройствах Android¶
Development OS
macOS Windows Linux
1. Включите отладку по USB¶
Большинство устройств Android по умолчанию могут устанавливать и запускать только приложения, загруженные из Google Play. Вам нужно будет включить отладку по USB на вашем устройстве, чтобы установить ваше приложение во время разработки.
Чтобы включить отладку по USB на вашем устройстве, сначала вам нужно включить меню «Параметры разработчика», перейдя в Настройки → О телефоне → Информация о программном обеспечении, а затем семь раз коснуться строки Номер сборки внизу. Затем вы можете вернуться в Настройки → Опции разработчика, чтобы включить «Отладку USB».
2. Подключите устройство через USB¶
Теперь давайте настроим устройство Android для запуска наших проектов React Native. Подключите устройство через USB к вашей машине разработки.
Теперь проверьте, что устройство правильно подключено к ADB, отладочному мосту Android, запустив adb devices .
$ adb devices List of devices attached emulator-5554 offline 14ed2fcc device
Если вы видите device в правой колонке, это означает, что устройство подключено. Одновременно должно быть подключено только одно устройство.
Если в списке вы видите unauthorized , вам нужно запустить adb reverse tcp:8081 tcp:8081 и нажать кнопку enable USB debugging on the device.
3. Запустите ваше приложение¶
Введите следующее в командной строке, чтобы установить и запустить ваше приложение на устройстве:
$ npx react-native run-android
Если вы получаете ошибку «конфигурация моста недоступна», смотрите Использование 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 к вашей машине разработки.
Выполните следующие действия в командной строке:
$ adb -s reverse tcp:8081 tcp:8081
Чтобы узнать имя устройства, выполните следующую команду adb:
$ adb devices
Теперь вы можете включить живую перезагрузку из 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 .
$ adb devices List of devices attached emulator-5554 offline 14ed2fcc device
Если вы видите device в правой колонке, это означает, что устройство подключено. Одновременно должно быть подключено только одно устройство.
3. Запустите ваше приложение¶
Введите следующее в командной строке, чтобы установить и запустить ваше приложение на устройстве:
$ npx react-native run-android
Подсказка: Вы также можете использовать React Native CLI для генерации и запуска Release сборки (например, npx react-native run-android —mode=release ).
Подключение к серверу разработки¶
Вы также можете быстро выполнить итерации на устройстве, подключившись к серверу разработки, запущенному на вашей машине разработки. Это можно сделать несколькими способами, в зависимости от того, есть ли у вас доступ к USB-кабелю или Wi-Fi сети.
Способ 1: Использование adb reverse (рекомендуется).¶
Вы можете использовать этот метод, если ваше устройство работает под управлением Android 5.0 (Lollipop) или новее, у него включена отладка по USB, и оно подключено через USB к вашей машине разработки.
Выполните следующие действия в командной строке:
$ adb -s reverse tcp:8081 tcp:8081
Чтобы узнать имя устройства, выполните следующую команду adb:
$ adb devices
Теперь вы можете включить живую перезагрузку из 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 должен вывести примерно следующее:
$ lsusb Bus Device ID Intel Corp. Integrated Rate Matching Hub Bus Device ID 1d6b:0002 Linux Foundation root hub Bus Device ID 22b8:2e76 Motorola PCS Bus Device ID Intel Corp. Integrated Rate Matching Hub Bus Device ID 1d6b:0002 Linux Foundation root hub Bus Device ID 1d6b:0003 Linux Foundation root hub Bus Device ID 1d6b:0002 Linux Foundation root hub
Эти линии представляют USB-устройства, подключенные в данный момент к вашему аппарату.
Вам нужна та строка, которая представляет ваш телефон. Если вы сомневаетесь, попробуйте отключить телефон от сети и запустить команду снова:
$ lsusb Bus Device ID Intel Corp. Integrated Rate Matching Hub Bus Device ID 1d6b:0002 Linux Foundation root hub Bus Device ID Intel Corp. Integrated Rate Matching Hub Bus Device ID 1d6b:0002 Linux Foundation root hub Bus Device ID 1d6b:0003 Linux Foundation root hub Bus Device ID 1d6b:0002 Linux Foundation root hub
Вы увидите, что после удаления телефона строка с моделью телефона («Motorola PCS» в данном случае) исчезла из списка. Это та строка, которая нас интересует.
Bus 001 Device 003: ID 22b8:2e76 Motorola PCS .
Из приведенной выше строки нужно взять первые четыре цифры из ID устройства:
В данном случае это 22b8 . Это идентификатор Motorola.
Вам нужно будет ввести это в правила udev, чтобы начать работу:
=="22b8", MODE="0666", GROUP="plugdev"' sudo tee /etc/udev/rules.d/51-android-usb.rules
Убедитесь, что вы заменили 22b8 на идентификатор, полученный в приведенной выше команде.
Теперь проверьте, что ваше устройство правильно подключается к ADB, отладочному мосту Android, запустив adb devices .
$ adb devices List of devices attached emulator-5554 offline 14ed2fcc device
Если вы видите device в правой колонке, это означает, что устройство подключено. Одновременно должно быть подключено только одно устройство.
3. Запустите ваше приложение¶
Введите следующее в командной строке, чтобы установить и запустить ваше приложение на устройстве:
$ npx react-native run-android
Если вы получаете ошибку «конфигурация моста недоступна», смотрите Использование 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 к вашей машине разработки.
Выполните следующие действия в командной строке:
$ adb -s reverse tcp:8081 tcp:8081
Чтобы узнать имя устройства, выполните следующую команду adb:
$ adb devices
Теперь вы можете включить живую перезагрузку из 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
macOS Windows Linux
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.
#2 – Создание проекта. Запуск на Андроид и iOS
Начиная с этого урока мы приступаем к началу изучения платформы React Native. В ходе урока мы создадим наш первый проект и выполним его тестирование на Андроид и iOS.
Видеоурок
Полезные ссылки:
- Фреймворк Expo ;
- Программа Android Studio ;
- Программа Xcode .
Создание проекта
Создать проект можно двумя способами:
- Использовать React Native CLI ;
- Использовать фреймворк Expo.
React Native CLI предоставляет немного большее количество файлов и папок для разработки проекта. В то же время, они вам никак не понадобятся если вы только приступаете к разработке. Вместо React Native CLI проще использовать фреймворк Expo.
На его основе можно создать точно такой же проект, но он будет обладать меньшим набором файлов и будет содержать удобные инструменты для тестирования проекта.
Для создания проекта на его основе необходимо выполнить два шага:
- Установить Expo на ваш компьютер. Установка проходит через терминал (командную строку).
- Прописать команду «expo init НАЗВАНИЕ_ПРОЕКТА».
Детальное описание установки вы можете найти здесь .
Тестирование программ
Тестировать React Native проект можно тремя разными способами:
- Тестирование проекта на Андроид
- Тестирование проекта на iOS
- Тестирование проекта в веб браузере
Если вы хотите протестировать проект на телефоне, то сперва нужно установить эмулятор на компьютер. Для iOS он устанавливается вместе с программой Xcode. Для Андроид он устанавливается вместе с программой Android Studio.
Быстрый старт на React Native
Какие горизонты открывает React? Single Page Application (и веб-приложения, и десктопные приложения на Electron) — это цветочки. Очень заманчиво выглядит разработка мобильных приложений на React Native. Лозунг «learn once, write anywhere» стоит того, чтобы приложить некоторые усилия. Go!
13 марта объявлено стабильным чудесное решение:
Многие разработчики сталкиваются с проблемой установки и настройки существующих зависимостей React Native, особенно для Android. С помощью Create React Native App нет необходимости использовать XCode или Android Studio, и вы можете разрабатывать для своего iOS-устройства, используя Linux или Windows. Это достигается при помощи приложения Expo, которое загружает и запускает проекты CRNA, написанные на чистом JavaScript без компиляции любого собственного кода.
CRNA повторяет идею Create React App (CRA). Никакой настройки окружения — всё готово «из коробки»: запуск тестов, запуск в режиме разработки, боевая сборка и деплой.
$ npm i -g create-react-native-app $ create-react-native-app my-app $ cd my-app $ npm start
Как видно, нужно выполнить несколько условий: установить управляющую оболочку Expo на мобильник, запустить тестируемое приложение через QR-код, при этом мобильник должен находиться в одной локальной сети с вашим компом разработчика.
Можно ещё проще. Подключите мобильник USB-шнурком, и выполните:
$ npm run android
Оно само поставит оболочку Expo на мобильник и запустит тестируемое приложение. Дальше горячая перезагрузка работает почти так же быстро, как при разработке веб-приложения на CRA. Магия!
На Ubuntu/Windows оно доступно только для подключенных Android/iOS устройств; но на Mac-е работает и вовсе без мобильника — на симуляторе iOS:
$ npm run ios
Опционально можно установить на комп Expo XDE:
С помощью этого инструмента также можно запускать тестируемое приложение, при этом отображается лог с мобильного устройства — жирный плюс; но горячая перезагрузка работает медленно, видимо приложение пересобирается каждый раз полностью. UPDATE Нужно вызвать меню разработчика (буквально встряхнуть мобилку), и выбрать «Enable Hot Reloading». При этом выключите Live Reload — оба варианта вместе не поддерживаются.
UPDATE Mac не нужен для разработки iOS-версии; просто подключите iOS-устройство и наслаждайтесь процессом на Ubuntu/Windows (спасибо, andreylat).