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

Мой родной реагировать приложение работает в симуляторе XCode с никаких проблем, но когда я запускаю в физическом устройстве, мой iPhone, там'проблемы С. Приложение запускается и застревает на родной экран реагирует всплеск, после 10-15 секунд приложение вылетает/закрывает. Что'ы причиной этого и как я могу предотвратить это?

Комментарии к вопросу (3)
Решение

Похоже, я нашел проблему. По данным https://facebook.github.io/react-native/docs/running-on-device когда вы построите и запустите приложение на вашем устройстве, приложение будет загружать JS файлы с упаковщик на вашем компьютере, так что вы можете жить перезагрузить приложение. Это означает, что устройство должно быть подключено к компьютеру или должен быть в той же WiFi сети, что и компьютер. Если ваше устройство может'т открыть упаковщик, он застрял на заставке и бросить.

Чтобы работать надежно на вашем устройстве, редактировать построить схему и строить версии.

Комментарии (4)

Это должно быть вполне можно, чтобы запустить приложение в режиме отладки на устройстве, без упаковщика прилагается! Вы должны использовать `реагировать родной комплект для создания автономного пакета, и добавить его в ваш проект 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"];
Комментарии (0)

Для меня, когда я строю, он работает нормально в эмуляторе, а на реальном устройстве шел и ничего только заставка.

Это произошло потому, что моей конфигурации сборки в режиме отладки, которая по умолчанию я думаю, я должен был изменить выпуск/построить конфигурацию с debug на Release и все работает, как ожидалось.

Комментарии (1)

У меня был тот же вопрос. То, что я сделал в Xcode иди на продуктов -> По схеме-и GT; редактировать схему -и GT; выберите Запустить вкладку -> изменение конфигурации построения, чтобы освободить ( по умолчанию это режим отладки ) и запустить приложение в устройстве.

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

Комментарии (0)

Я пробовал отключать свой iPhone из интернета, проблема исчезла в последующих запусков.

Значит что-то пытаются делать сетевые вещи и вызывает задержки. Это'ы быстро исправить, но будем делать, пока мы не найдем конкретного виновника.

Комментарии (0)

Вы, вероятно, нужно подписать приложение.

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

Смотрите эту ссылку для получения дополнительной информации: https://developer.apple.com/library/content/documentation/IDEs/Conceptual/AppDistributionGuide/LaunchingYourApponDevices/LaunchingYourApponDevices.html#//apple_ref/doc/uid/TP40012582-CH27-SW4

Комментарии (0)

Для меня я использую рамки опорному пункту на мой проект. Я забыл добавить GoogleService-Инфо.plist в файл в мой проект Xcode. После добавить его проблема ушла.

Комментарии (0)

Этот вопрос можно поднять за счет следующих возможностей:

  1. Ваши запуска схемы установлен в освобождении вместо отладка, так всегда ожидать загрузки основной.jsbundle`, вместо того, чтобы бежать от сервера отладки. Изменить его продукт-и GT;схемы> редактировать схему-и GT;выполнить-> конфигурации построения: отладка

Проверить отчет в Xcode, что любое сообщение, как NSURLConnection завершено с ошибкой - NSURLConnection код -1004 " или " завершено с ошибкой - -1022 код`. Перейдите в проект->цель->фазы-и построить ГТ; + -> новый запустить скрипт этап

  1. (-1004) вы настроили ваш проект Xcode с эскиза и забыл ввести реагировать родной сценарий Xcode на стадии сборки:

Для ниже версия реагировать родной 50: экспорт NODE_BINARY=узел ../node_modules/react-native/packager/react-native-xcode.sh

Для новых версий реагировать родной 50: экспорт NODE_BINARY=узел ../node_modules/react-native/scripts/react-native-xcode.sh

  1. (-1022) ваше приложение выпуску АТС, регистрация на Информация.plist, и вы можете выключить АТС, используя ниже код: <ключ>NSAppTransportSecurity</ключ> <дикт> <ключ>NSAllowsArbitraryLoads</ключ> <да/> </дикт>
Комментарии (0)

Я столкнулась с этой проблемой, где я был реагировать родной сплэш-скрин. После его удаления, он работает

Комментарии (2)