React Native на Ipad - Ошибка - не удалось подключиться к серверу разработки

Я использую React-Native, когда я запускаю AwesomeProject с симулятором Xcode и iPhone, все работает хорошо, но когда я подключил свой iPad и построил проект на своем iPad, я получаю сообщение об ошибке на iPad при запуске приложения:

"Не удалось подключиться к серверу разработки. Убедитесь, что сервер nodeБег. Операция не может быть выполнена (ошибка NSURLErrorDomain -1004)".

Я также гарантировал, что пакет node запущен. Я даже перезапустил Xcode и начал все с запущенного запуска npm.

Не могли бы вы помочь?

Ответы

Ответ 1

На вашем AppDelegate.m вы должны обновить jsCodeLocation и заменить localhost на свой IP-адрес устройства.

Либо это, либо скомпилировать скомпилированный источник в ваше приложение, которое также комментируется как вариант 2 на AppDelegate.m. Вы загружаете скомпилированный код и добавляете его в свой проект Xcode.

Ответ 3

Я подготовил небольшую инструкцию, которая поможет решить эту проблему.

Если ваше приложение не может подключиться к серверу, вы увидите следующее сообщение:

введите описание изображения здесь

Откройте файл AppDelegate.m в проекте Xcode и ищите

jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.ios.bundle?platform=ios&dev=true"];

Вы должны заменить этот адрес своим локальным адресом.

введите описание изображения здесь

Чтобы найти локальный IP-адрес в Mac OS X, откройте приложение терминала (расположенное в папке/Приложения/Утилиты) и введите ipconfig getifaddr en1 для беспроводной сети или ipconfig getifaddr en0 для ethernet.

введите описание изображения здесь

Вы можете проверить его в браузере. И вы увидите страницу React Native Debugger

введите описание изображения здесь

Просто замените localhost на AppDelegate.m на ваш IP-адрес. localhost до 192.168.1.100 в моем случае.

введите описание изображения здесь

Запустите приложение в Xcode снова.

Ответ 4

Еще одна потенциальная проблема, которая может вызвать такую ​​же ошибку, - это безопасность транспорта приложений (ATS) в iOS9 - это случилось со мной, хотя все остальное было настроено правильно. См. Мое описание и решение на fooobar.com/questions/332802/....

Ответ 5

В моем случае у меня была очень старая версия node.js(версия 0.8.6). После обновления node.js до версии 0.12.2 проект по умолчанию, созданный react-native init AwesomeProject, работал отлично.