Мой родной реагировать приложение работает в симуляторе XCode с никаких проблем, но когда я запускаю в физическом устройстве, мой iPhone, там'проблемы С. Приложение запускается и застревает на родной экран реагирует всплеск, после 10-15 секунд приложение вылетает/закрывает. Что'ы причиной этого и как я могу предотвратить это?
Похоже, я нашел проблему. По данным https://facebook.github.io/react-native/docs/running-on-device когда вы построите и запустите приложение на вашем устройстве, приложение будет загружать JS файлы с упаковщик на вашем компьютере, так что вы можете жить перезагрузить приложение. Это означает, что устройство должно быть подключено к компьютеру или должен быть в той же WiFi сети, что и компьютер. Если ваше устройство может'т открыть упаковщик, он застрял на заставке и бросить.
Чтобы работать надежно на вашем устройстве, редактировать построить схему и строить версии.
Это должно быть вполне можно, чтобы запустить приложение в режиме отладки на устройстве, без упаковщика прилагается! Вы должны использовать `реагировать родной комплект для создания автономного пакета, и добавить его в ваш проект Xcode. Затем ваше приложение должно вернуться к этой связке, когда упаковщик недоступна.
Это используется, чтобы быть в развертывании на прибор ФБ документы, не знаю, почему это's не там больше.
Образец звонка (наша index.ios.jsнаходится в
./дист` по рукописи):
react-native bundle --dev true --assets-dest ./ios --entry-file ./dist/index.ios.js --platform ios --bundle-output ios/main.jsbundle
Кроме того, он'ы, видимо, нужно сказать приложение для запуска непосредственно из пакета, а не пытаться получить доступ к серверу развития, который, кажется, чтобы вызвать тайм-аут (у нас была такая же проблема, как ОП).
Закомментируйте эту строку:
jsCodeLocation = // whatever
И добавить эту строку:
jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
Для меня, когда я строю, он работает нормально в эмуляторе, а на реальном устройстве шел и ничего только заставка.
Это произошло потому, что моей конфигурации сборки в режиме отладки, которая по умолчанию я думаю, я должен был изменить выпуск/построить конфигурацию с debug на Release и все работает, как ожидалось.
У меня был тот же вопрос. То, что я сделал в Xcode иди на продуктов -> По схеме-и GT; редактировать схему -и GT; выберите Запустить вкладку -> изменение конфигурации построения, чтобы освободить ( по умолчанию это режим отладки ) и запустить приложение в устройстве.
Это было намного быстрее и запустить его, как родное приложение.
Я пробовал отключать свой iPhone из интернета, проблема исчезла в последующих запусков.
Значит что-то пытаются делать сетевые вещи и вызывает задержки. Это'ы быстро исправить, но будем делать, пока мы не найдем конкретного виновника.
Вы, вероятно, нужно подписать приложение.
В рамках проекта "навигатор", нажмите на свое приложение. Затем выберите нужный из проекта и список задач. В графе "вкладка генерала" найти 'подписания' раздел. Вы'll необходимо указать здесь команда.
Смотрите эту ссылку для получения дополнительной информации: https://developer.apple.com/library/content/documentation/IDEs/Conceptual/AppDistributionGuide/LaunchingYourApponDevices/LaunchingYourApponDevices.html#//apple_ref/doc/uid/TP40012582-CH27-SW4
Этот вопрос можно поднять за счет следующих возможностей:
освобождении
вместо отладка
, так всегда ожидать загрузки основной.jsbundle`, вместо того, чтобы бежать от сервера отладки. Изменить его продукт-и GT;схемы> редактировать схему-и GT;выполнить-> конфигурации построения: отладкаПроверить отчет в Xcode, что любое сообщение, как NSURLConnection завершено с ошибкой - NSURLConnection код -1004 " или " завершено с ошибкой - -1022 код`. Перейдите в проект->цель->фазы-и построить ГТ; + -> новый запустить скрипт этап
Для ниже версия реагировать родной 50:
экспорт NODE_BINARY=узел ../node_modules/react-native/packager/react-native-xcode.sh
Для новых версий реагировать родной 50:
экспорт NODE_BINARY=узел ../node_modules/react-native/scripts/react-native-xcode.sh
<ключ>NSAppTransportSecurity</ключ> <дикт> <ключ>NSAllowsArbitraryLoads</ключ> <да/> </дикт>