React-native: Отсутствует URL пакета

Созданный на 7 мар. 2017  ·  192Комментарии  ·  Источник: facebook/react-native

Описание

Я заметил, что некоторые люди недавно спрашивали об этой ошибке «Нет URL-адреса пакета», и я только что столкнулся с этим сам.

Воспроизведение

Я только что запустил ˜react-native init projectName˜, настроил свой файл App.js (простой Hello World), назвал его в индексах iOS и Android и запустил ˜react-native run-ios˜. Затем появилась ошибка «Нет URL-адреса пакета».

Решение

Я попытался удалить установку node_modules и npm, закрыть упаковщик и снова запустить проект, но это можно было решить только после выполнения приведенных здесь шагов (http://stackoverflow.com/questions/42610070/what-means-of -no-bundle-url-present-in-react-native).

  • Запустите «реагировать на родной запуск-ios»
  • Когда появится ошибка, запустите «npm install»
  • Затем снова запустите «react-native run-ios».

Дополнительная информация

Это первый проект, который я начал с использованием RN 0.42. Поскольку этого никогда не было раньше, и я не единственный, кто сталкивается с этой проблемой, я думаю, что к ней следует присмотреться.

Вот мой package.json:

{
    "name": "myProject",
    "version": "0.0.1",
    "private": true,
    "scripts": {
        "start": "node node_modules/react-native/local-cli/cli.js start",
        "test": "jest"
    },
    "dependencies": {
        "react": "~15.4.1",
        "react-native": "0.42.0"
    },
    "devDependencies": {
        "babel-jest": "19.0.0",
        "babel-preset-react-native": "1.9.1",
        "jest": "19.0.2",
        "react-test-renderer": "~15.4.1"
    },
    "jest": {
        "preset": "react-native"
    }
}

Если бы я мог быть более полезным, чтобы сделать какие-либо дальнейшие тесты, это было бы приятно.

Самый полезный комментарий

Моя проблема была решена путем добавления NSAllowsLocalNetworking в Info.plist

<key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
        <key>NSAllowsArbitraryLoadsInWebContent</key>
        <true/>
        <key>NSAllowsLocalNetworking</key>
        <true/>
    </dict>
</key>

Я не уверен, что это связано с проблемой RN0.42 или iOS, но в моем случае это решено.

Все 192 Комментарий

Такая же проблема сейчас. Не уверен, что изменилось.

Та же проблема.

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

отправлено из моего Айфона

7 марта 2017 г., в 22:55, [email protected] написал:

Та же проблема.


Вы получаете это, потому что вы прокомментировали.
Ответьте на это письмо напрямую, просмотрите его на GitHub или отключите ветку.

Что если запустить npm start в консоли?

Та же проблема.

я нашел
JsCodeLocation = [[RCTBundleURLProvider jsBundleURLForBundleRoot:@sharedSettings] "index.ios" резервный ресурс kResource:nil ];
Брать эффективный адрес нельзя, это происходит в связи с сетевой ситуацией (да и не во всех сетях так), когда такое происходит, отключается от сети, думаю, в виртуалке можно запускать в localhost:8081
Я такой

Неа. Я пробовал все.

отправлено из моего Айфона

8 марта 2017 г. в 1:53 Евгений Соковиков [email protected] написал:

Что если запустить npm start в консоли?


Вы получаете это, потому что вы прокомментировали.
Ответьте на это письмо напрямую, просмотрите его на GitHub или отключите ветку.

С андроидом работало нормально

отправлено из моего Айфона

8 марта 2017 г., в 2:13, [email protected] написал:

Та же проблема.

я нашел
JsCodeLocation = [[RCTBundleURLProvider jsBundleURLForBundleRoot:@sharedSettings] "index.ios" резервный ресурс kResource:nil ];
Брать эффективный адрес нельзя, это происходит в связи с сетевой ситуацией (да и не во всех сетях так), когда такое происходит, отключается от сети, думаю, в виртуалке можно запускать в localhost:8081
Я такой


Вы получаете это, потому что вы прокомментировали.
Ответьте на это письмо напрямую, просмотрите его на GitHub или отключите ветку.

@AbeHerbert

Да, это код IOS, я просто смотрю код, здесь автоматически возьмет локальный IP, но, очевидно, не взял, Android я не пробовал, но это явно отличается от кода IOS

Моя ситуация, когда я изменил сетевое окружение, это нормально, очень умно, когда я встретил домашнюю
Пытаюсь распечатать автоматический доступ на полный адрес, берутся вернуться на ноль, при этом АРР будет ждать начала дела, это локальный адрес

NSLog (@ absoluteString:%@), [jsCodeLocation absoluteString]);
NSLog (@ host:%@), [jsCodeLocation host]);
NSLog (@ port:%@), [jsCodeLocation port]);

когда я буду

jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil];

Модифицировано в

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

На этот раз может быть нормальный запуск, но после входа в приложение удаленной загрузки изображений, кажется, неправильно
Это всего лишь точка зрения, и конкретного решения нет.

Я получил это сообщение, когда упаковщик не работает, когда приложение запускается на iOS. Обычно мне приходится полностью убивать приложение и снова запускать его после запуска упаковщика. Ребята, вы можете быть уверены, что упаковщик запущен до запуска приложения?

@ rmevans9 в моем случае упаковщик работал как всегда. Опубликованное мной решение выполняется во время работы упаковщика и приложения. Это единственный способ, который я нашел сейчас, чтобы справиться с этим. Я считаю, что что-то идет не так, когда модули устанавливаются на реактивную инициализацию. Я должен сделать несколько тестов, прежде чем гарантировать это

Да, упаковщик уже запущен. Я могу получить к нему доступ через браузер

Я также вижу эту проблему на RN 0.42.0

+1

Та же проблема, и я запускаю «npm install» и «react-native run-ios», проблема, похоже, еще не решена.

Я вижу ту же проблему @ 0.42.0 и
«npm install» не решает эту проблему.

Моя проблема была решена путем добавления NSAllowsLocalNetworking в Info.plist

<key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
        <key>NSAllowsArbitraryLoadsInWebContent</key>
        <true/>
        <key>NSAllowsLocalNetworking</key>
        <true/>
    </dict>
</key>

Я не уверен, что это связано с проблемой RN0.42 или iOS, но в моем случае это решено.

Проверьте, есть ли у вас в хостах 127.0.0.1 localhost , очистите проект и повторите попытку, у меня сработало.

Конечно, я делаю. я веб-разработчик лол

отправлено из моего Айфона

12 марта 2017 г., в 4:35, [email protected] написал:

Проверьте, есть ли у вас в хостах 127.0.0.1 localhost, почистите проект и повторите попытку, у меня сработало.


Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub или отключите ветку.

Я нашел рабочее решение, попробуйте. Пока симулятор работает, не закрывайте упаковщик. Перейдите по пути и запустите npm install, затем снова реагируйте на запуск-ios. Он начал работать для меня.

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

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

Это также означает «Порт уже используется».

Завершение процесса на порту 8081

Выполните следующую команду на Mac, чтобы найти идентификатор процесса, прослушивающего порт 8081:

$ sudo lsof -i :8081

Затем выполните следующее, чтобы завершить процесс:

$ kill -9 <PID>

пожалуйста, попробуйте устранить неполадки по ссылке ниже
https://facebook.github.io/react-native/docs/troubleshooting.html

Спасибо,
Дирадж

Я просто оставлю это здесь, на случай, если другие люди наткнутся на ту же причину.

В случае нашей команды, во время миграции на 0.42.0, мы случайно удалили фазу сборки «Bundle React Native code and images» из проекта XCode.

Повторное добавление фазы вручную решило проблему, но нам остается ломать голову над тем, когда и как фаза была удалена.

sglearner_xcodeproj

у меня работает, когда я создаю приложение через xcode...

Та же проблема. Установили схему Release в Xcode и попытались заархивировать приложение для производства, но main.jsbundle не генерирует...

У меня была такая же ошибка, и я смог запустить приложение только через Xcode. react-native run-ios не сработало. Чтобы решить эту проблему, вам нужно удалить папку сборки YOUR_PROJECT/ios/build/ . После этого вы сможете снова запустить свое приложение через react-native run-ios . Надеюсь это поможет.

Для конфигурации отладки, которая используется по умолчанию, когда новый проект создается с помощью команды react-native init , сборка не создает файл пакета, а вместо этого использует для этого упаковщик. Таким образом, проблема связана с настройками сети и, скорее всего, связана с настройками прокси. Если используется прокси, не забудьте установить обход прокси для адресов localhost и 127.0.0.1.

То же самое здесь... Повторная установка пакетов узла не является правильным решением.

В моем случае это произошло из-за того, что я использовал Shadowsocks (в данный момент находился в Китае) и не настроил его для обхода 127.0.0.1 и локального хоста. Спасибо @om2pkral за упоминание об этом.

В моем случае на другом терминале, запущенном при выполнении react-native run-ios , ничего не отображалось.
Это означает, что упаковщик не запущен.

Так что я смог запустить упаковщик, запустив PROJECT_DIR/node_modules/react-native/packager/launchPackager.command самостоятельно.
Запускаю снова react-native run-ios , завелась нормально.

Я не знаю причину, но поведение приведенной ниже команды open вызывает сомнения.
https://github.com/facebook/react-native/blob/f48b54bf6211dbbdd32839b0de68b1d0a451e486/React/React.xcodeproj/project.pbxproj#L2421

Благодаря @om2pkral и @account-archived-270316 , Shadowsocks в глобальном режиме вызывает проблему; если вы используете прокси-сервер, попробуйте закрыть его;

Я перешел с 42.0 на 42.2 и получил эту ошибку при развертывании тестового полета. Я удалил каталог сборки и добавил <key>NSAllowsLocalNetworking</key>... <true/> , и он снова начал работать. Не знаю, какой из двух был волшебным. Я собираюсь принять первое и удалить изменение info.plist.

Я запустил "react-native run-ios" во второй раз, все прошло хорошо.

проверьте свой локальный хост
ты открыт ссс? когда я столкнулся с этой проблемой, я обнаружил, что открыл свой VPN

У меня аналогичная проблема с RN 0.40, он не может сгенерировать бандл в режиме релиза. Он останавливается с ошибкой
`Рабочая ферма: получено сообщение о неизвестном индексе для существующего дочернего элемента. Этого не должно быть!

SyntaxError: Неожиданный токен: punc (.)`
и я не могу понять, где ошибка, но не работает ли шаг реактивного пакета

@yustada Добавление ключа NSAllowsLocalNetworking решило мою проблему, но теперь мой ключ NSAllowsArbitraryLoads больше не работает (например, я больше не могу загружать http-изображения). Любая идея?

Я получаю ту же проблему. Но я решил это, потому что у меня открытый прокси. Может быть, вы можете проверить, открываете ли вы сетевой прокси-сервер, и убедитесь, что вы его закрыли.

Извините за глупый вопрос, а что вы имеете в виду под открытыми прокси? Я не думаю, что открыл какой-либо сетевой прокси, но я думаю, что это может быть под капотом. Как его проверить и отключить?

Может быть, мы находимся в другой среде. У меня не было этой проблемы вчера и раньше, но я получил эту ошибку сегодня, потому что открыл прокси-программу shadowsocks, которая использовалась для прокси. Поэтому, когда я выключаю его, все идет нормально. Я не знаю, есть ли у вас такая же проблема. Приложение RN в режиме локальной отладки загружает пакет с локального хоста: localhost , поэтому, если я использую сетевое агентство, оно не может найти локальный хост. Я не знаю, понимаешь ли ты, что я говорю? бедный английский.

@yustada ваше решение ( здесь ) решает мою проблему. Я думаю, что установка этого параметра исправит что-то сломанное в Xcode. Все мои проекты не поддаются отладке!

Судя по всему, с новой версией работает (2.8.13), я использовал различные решения и удалил некоторый проблемный код из своего проекта, и теперь стало лучше. Проблема в том, что uglify и вообще среда релиза отличаются от среды разработки. НО uglify сделал невозможным отладку, чтобы выяснить, в чем проблема, мне пришлось копать очень глубоко, чтобы улучшить отладку.

В Mac, когда я включаю прокси, возникает эта проблема, отключите прокси, все в порядке.

Для меня проблема заключалась в том, что он не мог создать пакет JS. В нем не указывается ошибка при сборке из Xcode, поэтому вы не можете это узнать. Чтобы найти ошибку, выполните следующую команду.

react-native bundle --platform ios --dev false --entry-file index.ios.js --bundle-output ./ios/release/main.jsbundle --assets-dest ./ios/release/main.jsbundle

Для меня ошибка заключалась в отсутствующем компоненте PureRenderMixin. На что решение можно найти здесь: https://github.com/facebook/react-native/issues/13078. В основном вам нужно вручную установить [email protected]. Это можно сделать с помощью этой команды.

npm i --save [email protected]

Эта проблема теперь возникает у всех, потому что выпускаются новые версии реагирующих альфа-версий (особенно alpha.5), и они нарушают реагирующие сборки.

Так же, как и @akiver , я решил проблему.

$ sudo vi /private/etc/hosts

# Add this line
127.0.0.1       localhost

Я выполнил шаги, описанные @cutemachine , сработало для меня. Хотя до этого тоже делал обычный rm -rf node_modules, сбрасывал кеш упаковщика.

2017-03-29 10 29 35

Это проблема сетевых агентов, вы можете проверить, используется ли их собственная сеть через настенные инструменты.

Ставлю агент Shadowsocks из глобальной модели из глобальной модели в автоматический режим прокси на нем

2017-03-29 10 30 53

А потом react-native run-ios

2017-03-29 10 34 55

@Binb1
Вы пробовали NSAllowsArbitraryLoadsForMedia и NSAllowsArbitraryLoadsInWebContent ?

Некоторые параметры ATS были добавлены для iOS 10.0 и более поздних версий, а также в macOS 10.12.
https://forums.developer.apple.com/thread/6767

Я буду получать эту ошибку случайным образом почти без причины (не запуская прокси, не внося никаких сумасшедших изменений в проект). Чтобы это исправить, я удалю свой node_module, затем переустановлю npm install , и все заработает. Но немного беспокоит, что это происходит так случайно.

Метод @cutemachine работает и для меня :) спасибо

У меня сработало, когда я запустил симулятор из Xcode 🤔

@акомито
Возможно потому что у вас под управлением родной порт номер 8081 занят, например используете какой-то другой софт, можете глянуть при следующей попытке

пришлось запустить sudo xcodebuild -license , как указано в сообщении об ошибке:

«Для согласия с лицензией Xcode/iOS требуются права администратора, запустите «sudo xcodebuild -license», а затем повторите эту команду».

Работает сейчас

Убедитесь, что в вашем файле hosts есть локальный хост 127.0.0.1. Я узнал, что каким-то образом мне удалось его удалить. Как только я снова добавил его, проблема была решена.

Вчера я впервые попробовал React Native, и у меня возникла та же проблема.

Это то, что я уже пробовал:

  • запуск "react-native run-ios" и во время ошибки "npm install" и повторный запуск "react-native run-ios"
  • удаление "node_modules/" и "npm install"
  • добавление вышеупомянутого материала "NSAllowsLocalNetworking" в Info.plist
  • запустить его через Xcode

Примечания:

  • «127.0.0.1 localhost» находится в моих хостах
  • насколько мне известно, я никогда не устанавливал сетевые прокси на этом Mac
  • Версия узла: v6.4.0
  • Версия Xcode: 8.3 (8E162)
  • ОС: macOS Sierra 10.12.3 (16D32)

Любая помощь будет оценена, спасибо.

У меня такая же проблема, когда я перемещаю проект в другую пустую папку.
но может работать при запуске симулятора из Xcode.

окончательно решено:

  1. удалите папку сборки YOUR_PROJECT/ios/build/
  2. run react-native run-ios получил еще одну ошибку, похоже, сборка не завершена. 😕
  3. снова запустите react-native run-ios

@skywlkr @haikyuu может быть полезно

не редактируйте info.plist.
потому что симулятору нужен импорт пакета с локального хоста.

@lany44, к сожалению, это все еще не работает. но спасибо.

Я пробовал почти все комбинации решений здесь, и ни одно из них не сработало. Единственный способ, с помощью которого я смог начать работу, состоял в том, чтобы открыть два терминальных сеанса в каталоге проекта, запустить npm start в первом, а затем запустить react-native run-ios во втором.

Я не помню, чтобы мне приходилось делать это месяц или два назад, когда я впервые играл с этим - может быть, есть регрессия в том, как запускается сервер упаковки, если он еще не запущен?

@ngmiller Работал на меня!

@ngmiller тоже попробовал ваше решение, но все еще не работает. Я начинаю сходить с ума.

@skywlkr Очень расстраивает. Вчера я потратил на это несколько часов. Может глупый вопрос, но пробовали ли вы из совсем свежего проекта?

да, я пробовал это с совершенно новым проектом

У меня та же проблема, что и у @skywlkr , и я получаю те же результаты. Я пробовал все предложения здесь, но, к сожалению, ни одно из них не сработало.

У меня была эта ошибка, и это было связано с моим файлом рабочей области xcode. Мне повезло в том, что я не делал много работы в рабочей области, поэтому я удалил ее, и теперь она строится.

POS WTF .. Я застрял с этим дерьмом за последние 2 дня. Парень выше прав, у меня точно такая же проблема.

@ ezos86 Я тебя полностью понимаю. Я постараюсь сделать еще один снимок в ближайшие дни и отчитаюсь.

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

/**
 * <strong i="6">@providesModule</strong> LightboxOverlay
 */

И я исправляю удалением модуля, а затем снова вызываю react-native run-ios .

Может ли кто-нибудь дать какую-либо подсказку? Мы будем очень признательны.

@skywlkr , я повторил решение, упомянутое @mac2066 , по изменению переменной jsCodeLocation, и оно сработало. Я не пробовал это с приложением, которое имеет локальные изображения и т. д., поэтому я могу столкнуться или не столкнуться с проблемами, но, по крайней мере, hello world теперь работает на Mac. Более подробная информация здесь , если вам это нужно. Удачи.

@ dcp12345678 спасибо за совет, это действительно работает - по крайней мере, как временное решение. также спасибо @ mac2066 за это.

Мне помогло обновление bash (до последней версии 4.4.12) через Homebrew. Используйте brew upgrade bash

@ngmiller Это сработало для меня! Спасибо!

Я продолжал сталкиваться с этим со мной после установки некоторых плагинов.

Я исправил это, сделав это;

  1. npm cache clean
  2. react-native run-ios — это запустится, а затем покажет ошибку _Нет URL-адреса пакета_
  3. Повторно запустить _(при работающем симуляторе)_ react-native run-ios

Кажется, исправляет все, что происходило, и позволяет мне снова моделировать Xcode

@hisshash Спасибо, ваше решение сработало.

В моем случае проблема была устранена перезапуском сервера adb : adb kill-server && adb start-server

@hisshash Мне также пришлось запустить react-native run-ios дважды. react-native кажется тревожно недетерминированным

Я встречаю эту проблему и в своем проекте, она решается следующим образом:
измените эту область в файле your-project/ios/your-project-name/Info.plist:
<key>NSAppTransportSecurity</key> <dict> <key>NSExceptionDomains</key> <dict/> </dict>
добавить в него следующий комментарий:
<key>NSAllowsLocalNetworking</key> <true/>
на всех,все нравится,на этом проблемы заканчиваются.
<key>NSAppTransportSecurity</key> <dict> <key>NSExceptionDomains</key> <dict/> <key>NSAllowsLocalNetworking</key> <true/> </dict>

Вы используете React-Native-Flux-Router?

Я нашел решение своей проблемы здесь:
http://stackoverflow.com/a/43875440/5439517

Удалите «node_modules > react-native-router-flux > node_modules > react-native». Запустите react-native run-ios и все должно заработать.

Мой файл main.jsbundle не создавался. Причина заключалась в том, что на этапе сборки оболочка, для которой по умолчанию используется xcode, — это /bin/sh, что не учитывает мое использование nvm. Сценарий по какой-то причине молча терпел неудачу, потому что он запускал гораздо более старую версию узла, установленную в моей системе, 0.10.22. Переключение оболочки на ZSH привело к созданию main.jsbundle для выпускных сборок.
vibe_xcodeproj

@davidtrogers Это на 100% решило и мою проблему. Я совсем забыл про NVM.

Сегодня я установил react-native на свой компьютер Mac и столкнулся с той же проблемой при запуске react-native run-ios во второй раз и далее. Обходной путь для меня - rm -rf ios/build , но это значительно замедлит мой обычный цикл разработки.

Следует отметить, что я устанавливаю узел через nvm вместо доморощенного. Кроме того, я использую пряжу вместо npm для управления пакетами. Это означает, что я запустил yarn global add react-native-cli вместо npm install -g react-native-cli и yarn install вместо npm install . Это стоит отметить, потому что я не вижу ни одного упоминания о пряже в этом выпуске. Есть ли какая-то несовместимость, с которой я только что столкнулся?

Хорошо, я думаю, что сузил свою проблему до конкретного случая 100% воспроизведения.

Эта проблема возникнет только в том случае, если я запущу react-native run-ios в следующий раз после закрытия вкладки/окна терминала, запущенного React Packager. В этом случае появляется красный экран эмулятора с сообщением об ошибке. Однако, если я оставлю эту вкладку/окно React Packager открытой и снова запущу react-native run-ios , эмулятор теперь запустит приложение без ошибки. Кроме того, каждый раз, когда я запускаю react-native run-ios с открытой вкладкой React Packager, эмулятор всегда продолжает работать правильно.

Ключевым наблюдением, которое следует сделать, является корреляция между появлением следующей строки вывода на вкладке React Packager и возникновением этой проблемы:

Связывание index.ios.js ... готово.

Эта строка не появится, если эмулятор выдаст ошибку с сообщением «URL-адрес пакета не представлен», но появится, когда эмулятор будет успешным.

Надеюсь, это поможет. Раздражает, но, по крайней мере, я нашел способ ускорить рабочий процесс разработки. Возможно, это ошибка в React Packager ?

сначала пропингуйте 127.0.0.1, если 64 байта от 127.0.0.1: icmp_seq=2 ttl=64 time=0,068 мс

во-вторых, пропингуйте локальный хост, если ваш ip-адрес для анализа локального хоста не является IP-адресом вашего компьютера, мы находим проблему, причина: ваш локальный хост был изменен,

в-третьих, вам нужно изменить свой компьютер 127.0.0.1 с локальным хостом, открыть /etc/hosts
и установите, например: сохранить, перезагрузить Internet Explorer

1 ##
2 # База данных хоста
3 #
4 # localhost используется для настройки петлевого интерфейса
5 # при загрузке системы. Не изменяйте эту запись.
6 ##
7 127.0.0.1 локальный хост

подробно объяснить URL:http : //www.webkaka.com/tutorial/server/2013/121611/

@lishiping спасибо за предложение, но это не моя проблема. Я не модифицировал свой файл /etc/hosts , и я отлично могу ping localhost .

РН = 0,43,3
Xкод = 8.3.2
MacOS = Сьерра 10.12.5

Я получаю сообщение «Нет URL-адреса пакета». только при попытке запуска в режиме выпуска в xcode. Я могу нормально запустить приложение в режиме отладки.

Я запустил react-native bundle --platform ios --dev false --entry-file index.ios.js --bundle-output ios/main.jsbundle и получил следующую ошибку:

Unexpected token: keyword (default)

Он не показывает номера строк или файлы, из которых может быть ошибка. Есть ли лучший способ получить больше информации об этой ошибке?

Я также попытался удалить папку сборки, очистить npm, удалить папку node_modules, безуспешно установить пряжу.

Эта же точная сборка работала у меня несколько дней назад, поэтому не уверен, что изменилось. Я все еще использую ту же версию MacOS, xcode и нативную реакцию.

У меня такая же проблема, как и у @zachrnolan , хотя в моем случае на наш CI влияют как Android, так и iOS.

На Android сборки завершаются сбоем на этапе :bundleReleaseJsAndAssets , выдавая мне сообщение Unexpected token: keyword (default) .
В iOS сборки выполняются успешно, но пакет, похоже, не включен из-за той же ошибки (которую я мог найти где-то в огромных журналах xcodebuild).

Кажется, это происходит только для релизов, и в моем случае я никак не мог воспроизвести это локально.

@zachrnolan проблема для меня решилась сама собой. Думал, я дам вам знать.

@stinodes Я смог исправить это, обновив сторожа, очень странно.

Вот шаги, которые я предпринял:

  • brew update
  • brew unlink watchman
  • brew install watchman
  • Я запустил npm run clean , который я установил для этого:

    rm -rf ios/build; rm -rf ios/build; rm -rf android/build; rm -rf android/app/build; rm -rf $TMPDIR/react* ; rm -f ios/main.jsbundle; rm -rf node_modules; rm yarn.lock || true; npm cache clean; yarn cache clean

  • yarn install или npm install , если вы не используете пряжу

Надеюсь, это поможет другим, имеющим ту же проблему. У меня также есть сообщение о переполнении стека здесь: http://stackoverflow.com/questions/43993590/react-native-no-bundle-url-present-release-mode-only

Спасибо @cutemachine , у меня это сработало.

@zachrnolan проблема, с которой я столкнулся в связи с вашими шагами, заключается в том, что удаление сторожа и последующая его установка ничего не дадут. Кроме того, watchman больше не будет находиться в PATH, потому что он не связан. Вот результат brew install watchman , который я ожидал:

$ варить установить сторож
Внимание: watchman-4.7.0 уже установлен, просто не подключен.

Тем не менее, следуя вашим инструкциям, я все еще сталкиваюсь с этой ошибкой. Надеюсь, кто-то из основной команды разработчиков React-Native поможет решить эту проблему.

Это мой первый день использования React Native, и я все еще изучаю руководство по началу работы.
Всякий раз, когда я просто запускаю react-native run-ios , я получаю сообщение об ошибке No bundle URL present .

Я решаю это:

  • Проверка закрытия предыдущих сеансов сервера React Native. Если вы запустите их на порту 8081, уничтожьте его с помощью:
kill $(lsof -t -i:8081)
  • Выполнение следующего вместо react-native run-ios для удаления каталога сборки iOS перед повторной сборкой.
rm -rf ios/build/; react-native run-ios
  • Объединение вышеизложенного и добавление команд к псевдониму в моем конфигурационном файле Bash .bashrc
echo "alias rni=\"kill \$(lsof -t -i:8081); rm -rf ios/build/; react-native run-ios\"" >> ~/.bashrc
source ~/.bashrc

Теперь я могу запустить сборку React Native iOS с помощью одной команды, не беспокоясь о распространенных красных экранах ошибок смерти:


Интересно, почему React Native просто выдает пользователям эту ошибку, а не просто облегчает жизнь разработчику, автоматически исправляя ошибку и перезагружая?

Я снова получаю ту же ошибку/красный экран: «URL-адрес пакета отсутствует», но на этот раз причиной была синтаксическая ошибка в моем JS. Я думаю, что одна из проблем заключается в том, что ошибка не появляется в выводе упаковщика, и упаковщик молча терпит неудачу. Единственное указание на то, что пакет не создается, — это вывод Xcode ниже:

movie_recording

vibe_xcworkspace

davidtrogers_ _davidtrogers__macbook-pro-3__68_3_13_5_ _tmux_-2_at_ _238x62

Я использую zsh с nvm на MacOS 10.12.4. Я впервые загрузил React Native 2 дня назад и установил Watchman 2 дня назад, поэтому я предполагаю, что использую самые новые версии.

Я получаю один и тот же красный экран всякий раз, когда запускаю react-native run-ios .

Если я просто запускаю эту команду, открывается новое окно терминала, но ничего не происходит, а затем я получаю этот красный экран смерти с тем же уведомлением. lsof -t -i:8081 ничего не возвращает. Таким образом, похоже, что react-native run-ios не запускает упаковщик.

Однако, если в отдельном окне/панели tmux я запускаю npm start , затем запускается упаковщик, а затем запускаю react-native run-ios , все в мире хорошо, и все запускается нормально.

Поэтому я думаю, что react-native run-ios в самых последних версиях mac/xcode/react-native упаковщик не запускается.

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

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

@ powercoder23, когда я пробую ваш метод, я получаю:
менеджер psoulages$ kill -9
-bash: синтаксическая ошибка рядом с неожиданным токеном «новая строка»

Почему это закрыто, когда это все еще происходит?

Столкнувшись с той же проблемой.

Просто установил все и создал новое приложение на моем Mac в соответствии с документацией. При выполнении react-native run-ios выдает ошибку, аналогичную экранам выше.

Как мы собираемся создать полное приложение, если мы получаем ошибку при первом запуске для простого задокументированного примера :(

@ sukhvir1313 Да, это стыдно, и отпугнет новичков и даже опытных разработчиков.

@hramos , разве ветка проблемы не будет закрыта только после подведения итогов, кто решил проблему и как? Если проблема связана с двусмысленным сообщением об ошибке, которое может появиться по одной из нескольких причин, то почему бы нам просто не добавить эту распространенную проблему в FAQ по React Native, предоставить ссылку на нее в этой ветке, а затем создать Действие по предоставлению возможности разработчику с открытым исходным кодом обновить соответствующие части кодовой базы React Native, чтобы предоставить более конкретные и содержательные сообщения об ошибках, особенно если это затрагивает так много пользователей, даже совершенно новых пользователей. Если бы у меня было какое-то руководство, я был бы более чем счастлив попытаться решить эту проблему, но с чего мне начать?

У меня та же проблема с пакетом ("Нет URL-адреса пакета").
Попробуйте эту команду в корневой папке проекта.
react-native upgrade
а потом
react-native run-ios
Это сработало для меня.

@ltfschoen эта проблема стала универсальной для всего, что приводит к ошибке «Нет URL-адреса пакета». Вряд ли это действенно. Поощряя открывать новую проблему для всех, кто сталкивается с этим, мы надеемся сосредоточиться на выявлении любых оставшихся ошибок. Что касается FAQ, я обращаюсь к активным людям в этой теме.

Убедитесь, что вашей оболочкой по умолчанию является bash, потому что требуется команда export NODE_BINARY=node .

проверьте свой локальный хост в файле hosts в «/etc/hosts»
в моем случае разрешение локального хоста на 127.0.0.1 полностью решило проблему

@ coolboy88 исправление, которое вы предлагаете в /etc/hosts , уже было предложено в этом выпуске. И в этом выпуске уже сообщалось, что этого недостаточно для решения проблемы, в том числе и в моем собственном случае.

@coolboy88 и @ecbrodie : Предложение от coolboy88 сработало для меня. Спасибо :)

Была такая же проблема здесь. То, что происходило в моей установке, было проблемой разрешения, мне пришлось выполнить следующую команду в папке проекта:
sudo chown -R myuser:staff myfolder
После этого react-native run-ios и все заработало успешно.

Когда я пострадал от этого, я решил следовать

rm -rf ios/build
react-native run-ios

Впервые я столкнулся с какими-либо проблемами, используя команду «init». Сегодня вечером я получил ошибку «Нет URL-адреса пакета». Это было на новом iMac, новой установке OSX и новой версии Xcode.

После просмотра различных сообщений здесь я предположил, что он (симулятор) должен иметь доступ к локальному хосту: 8081 , на котором работает упаковщик. По какой-то причине Safari не разрешал локальный хост, как и iOS Simulator (хотя другие браузеры были в порядке). До сих пор не понял, и я только что изменил AppDelegate.m, чтобы вместо этого использовать 127.0.0.1 (спасибо сообщению выше):

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

Я не уверен, что это действительно хорошее решение (не фанат харкодинга). Но это сработало.

Для меня пробег второй раз, все прошло хорошо! :) ваше здоровье

@colorfulberry , после переименования моего проекта ваш ответ помог, спасибо

У меня просто сработало добавление export REACT_NATIVE_FSOP_TIMEOUT=150000 к этапу сборки «Bundle React Native code and images». Значение по умолчанию — 15000, а в моем приложении были файлы VR и MP4 размером 60 МБ.

Я сталкиваюсь с этой ошибкой почти каждый раз после запуска react-native run-ios . Мое решение:
Держите упаковщик и симулятор запущенными и просто снова запустите реактивный run-ios в терминале.

Как сказал @Adamnator92 , я получил ту же ошибку, когда переименовал каталог своего проекта. У меня было несколько прописных букв, и я переименовал каталог, чтобы он был строчным, когда эта проблема началась. Когда я переименовал его, чтобы вернуться к исходным заглавным буквам, все снова заработало.

Вчера у меня не было проблем, а сегодня я снова загрузил приложение и получил эту ошибку.

Я изменил NSAppTransportSecurity, как упоминалось выше @yustada , и он был построен. Затем я изменил его обратно, и он снова успешно построился. Я очень озадачен тем, как это произошло.

Нет проблем, когда я строю через xcode.

См.: https://www.youtube.com/watch?v=e-2KARCog18 .

Я только что снова столкнулся с этой проблемой после того, как заставил ее работать на прошлой неделе, используя комбинацию различных решений здесь (включая переход на версию 0.44.2).

Сегодня утром срок действия моего сертификата подписи истек, и мне пришлось создать новый в Xcode. Ничего не меняя, он перестал работать после создания приложения с новым сертификатом.

Запуск rm -rf node_modules , а затем npm install , казалось, исправил это.

Иногда вы можете получить эту ошибку, если не запустите npm link

Я переименовал index.ios.js в index.js, и эта ошибка появляется при выпуске Xcode. Переименование обратно в index.ios.js решает проблему.

я столкнулся с тем же, потому что в своем приложении я загружал WebView с src из локального файла.
после изменения моего Info.plist с решением от @yustada исправила мою проблему.


NSExceptionDomains

локальный хост

NSExceptionAllowsInsecureHTTPLoads


NSAllowsArbitraryLoads

NSAllowsArbitraryLoadsInWebContent

НСалловслокалнетворкинг

(для iOS)
В моем случае я мог работать на симуляторе, но потерпел неудачу на устройстве или сборке выпуска.
Это произошло потому, что мой скрипт отсутствовал на этапах сборки, а jsbundle не был сгенерирован.
Я добавил скрипт «Bundle React Native code and images» следующим образом: (Shell: /bin/sh)

export NODE_BINARY=node
../node_modules/react-native/packager/react-native-xcode.sh

* «упаковщик» может быть «скриптом», основанным на реактивной версии. Вы можете проверить папку /node_modules/react-native/ и выбрать существующую.

Просмотрев все эти комментарии, я не нашел решения, которое мне помогло. В моем терминале упаковщика есть ошибка распространения es6, и я полагаю, что она связана с проблемой № 14858. Я запускаю следующее:

узел: 6.11.1
нпм: 3.10.10
реактивный: 0.46.3

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

проверьте конфигурацию вашего сетевого прокси.

не используйте глобальный режим shadowsocks для меня.

Я столкнулся с этой проблемой после остановки симуляции и желания начать ее снова. Я убил симуляцию, используя sudo lsof -i:8081 и kill -9 <pid> для возвращенных pids из первой команды.

Исправление буквально состояло в том, чтобы запускать react-native run-ios три раза. Каждый раз дело продвигалось дальше.

В основном публикую это, чтобы предупредить, что вы можете просто попробовать использовать команду запуска несколько раз, прежде чем сделать вывод, что что-то еще не так.

<key>NSExceptionDomains</key>
 <dict>
      <key>localhost</key>
      <dict>
           <key>NSExceptionAllowsInsecureHTTPLoads</key>
           <true/>
      </dict>
 </dict>

-- Иногда при выпуске мы меняем localhost на домен нашего API, мы просто меняем его обратно в схеме отладки на localhost. работает для нас.

Я буквально пробовал все, чтобы это сработало, и в конечном итоге все свелось к закрытию XCode и перезапуску моего Mac.

нпм 4.2.0
узел v8.0.0
реагировать родной кли 2.0.1
макОС 10.12.5

image
Ни один из вышеперечисленных способов не решил мою проблему. . .что делать

Для меня это было результатом использования yarn для установки ignite, а затем установки npm. Поскольку для запуска требуется пряжа, все отлично работает, если я запускаю yarn add , а не npm install . Таким образом, в целом вы можете столкнуться с проблемами, если используете разные менеджеры пакетов.

Удалите папку сборки, и сборка снова сработала для меня.

rm -rf ios/build
react-native run-ios

У меня была та же проблема, что и у @cesarkawakami : «Bundle React Native code and images» исчезла с моей вкладки «Фазы сборки» в XCode при обновлении с 0,45 до 0,46.

После просмотра моего файла project.pbxproj выясняется, что команда react-native-git-upgrade действительно изменила определение фазы «Bundle React Native code and images», изменила ее идентификатор, но не смогла обновить список фаз сборки с помощью новый идентификатор.

Если у вас возникла та же проблема, вы можете найти строку «Bundle React Native code and images» в файле project.pbxproj и убедиться, что идентификаторы совпадают.

@pvanliefland - Не могли бы вы указать шаги по изменению «Bundle React Native code and images». Я застрял в этой проблеме в течение нескольких недель и пробовал шаги, упомянутые выше, но ничего не работает. Когда я создал пример проекта и попытался его запустить, простой проект работает нормально.

npm start решил эту проблему для меня. Любая идея, почему это не было вызвано автоматически на react-native run-ios ?

@Amritakeshre - вам удалось запустить его в режиме выпуска?

бегать:
сторож
затем запустите:
запуск нпм

Всем привет,

Я получаю эту ошибку с последней версией React Native при запуске

"реагировать на родной запуск-ios"

Пробовал по разному, не получается :(

Распаковка /Users/eric/.rncache/glog-0.3.4.tar.gz...

/Users/eric/Documents/Codes/react-native/Test123/node_modules/react-native/scripts/ios-install-first-party.sh:
строка 28: /Users/eric/Documents/Codes/R: Нет такого файла или каталога

/Users/eric/Documents/Codes/react-native/Test123/node_modules/react-native/scripts/ios-install-first-party.sh:
строка 28:
D/react-native/Test123/node_modules/react-native/scripts/ios-configure-glog.sh:
Данный файл или каталог отсутствует

* ПОСТРОЙКА НЕ ПРОШЛА *

Следующие команды вызвали проблемы с анализатором:
Анализировать
/Users/eric/Documents/Codes/react-native/Test123/node_modules/react-native/ReactCommon/yoga/yoga/Yoga.c

Analyze

/Users/eric/Documents/Codes/react-native/Test123/node_modules/react-native/ReactCommon/yoga/yoga/YGNodeList.c
(2 команды с проблемами анализатора)

Не удалось выполнить следующие команды сборки:
PhaseScriptExecution Установка третьей стороны
/Users/eric/Documents/Codes/react-native/Test123/ios/build/Build/Intermediates/React.build/Debug-iphonesimulator/double-conversion.build/Script-190EE32F1E6A43DE00A8543A.sh
(1 неудача)

Установка сборки/Сборка/Продукты/Debug-iphonesimulator/Test123.app
При обработке команды произошла ошибка (domain=NSPOSIXErrorDomain,
код = 2):
Не удалось установить запрошенное приложение
Пакет приложений не найден по указанному пути.
Укажите допустимый путь к нужному пакету приложений.
Печать: Запись, ":CFBundleIdentifier", не существует

Ошибка команды: /usr/libexec/PlistBuddy -c Print:CFBundleIdentifier
сборка/сборка/продукты/отладка-iphonesimulator/Test123.app/Info.plist
Печать: Запись, ":CFBundleIdentifier", не существует

Любое твердое решение для решения этой проблемы?

Спасибо.

В среду, 6 сентября 2017 г., в 17:41, 丶尘殇[email protected] написал:

бегать:
сторож
затем запустите:
запуск нпм


Вы получаете это, потому что вы прокомментировали.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/facebook/react-native/issues/12754#issuecomment-327431741 ,
или заглушить тему
https://github.com/notifications/unsubscribe-auth/AXIFs549pH9SyL5pF9jfirI9oX1fLjqSks5sfmjfgaJpZM4MVA0m
.

Я решаю эту проблему, добавляя
127.0.0.1 localhost в хостах
Спасибо вам всем.

Я решил проблему, удалив пробел в имени папки проекта.

Да, я тоже решил это, так как в одной из моих папок есть «&».

Но странная часть, я все еще вижу это

///

/usr/bin/codesign --force --sign - --timestamp=none

/Users/eric/Documents/Codes/learn/reactnative/mySecondProject/ios/Build/Products/Debug-iphonesimulator/mySecondProject.app/PlugIns/mySecondProjectTests.xctest

* ПОСТРОЙКА УСПЕШНА *

Следующие команды вызвали проблемы с анализатором:
Анализ /Users/eric/Documents/Codes/learn/reactnative/mySecondProject/node_modules/react-native/ReactCommon/yoga/yoga/YGNodeList.c
Анализ /Users/eric/Documents/Codes/learn/reactnative/mySecondProject/node_modules/react-native/ReactCommon/yoga/yoga/Yoga.c
(2 команды с проблемами анализатора)

Установка build/Build/Products/Debug-iphonesimulator/mySecondProject.app
При обработке команды произошла ошибка
(домен = NSPOSIXErrorDomain, код = 2):
Не удалось установить запрошенное приложение
Пакет приложений не найден по указанному пути.
Укажите допустимый путь к нужному пакету приложений.
Печать: Запись, ":CFBundleIdentifier", не существует

Ошибка команды: /usr/libexec/PlistBuddy -c Print:CFBundleIdentifier
сборка/сборка/продукты/отладка-iphonesimulator/mySecondProject.app/Info.plist
Печать: Запись, ":CFBundleIdentifier", не существует

///

Так что run-ios работать не будет.

Однако это работает, если я запускаю xcode -> debug.

Просто со многими предупреждениями, как показано ниже

https://imgur.com/a/TyBGa

Есть идеи, как заставить работать run-ios?

я использую это

Mac OS Сьерра 10.12.6
Последний Xcode 8.3.3
узел 8.4.0
нпм 5.4.1
реагировать нативно - проверено как 0.47.2, так и 0.48.2
реагировать родной кли - 2.0.1
пряжа 0.20.0

Я также пробовал следующее и не работал

  • вручную загружая все файлы и сохраняя их в ~/.rncache
  • rm -rf npm_modules, затем запустите «npm install»
  • реагировать родной git-обновление
  • удалите ios/build и снова запустите "react-native run-ios"

Спасибо.

В среду, 13 сентября 2017 г., в 6:15 утра, [email protected] написал:

Я решил проблему, удалив пробел в имени папки проекта.


Вы получаете это, потому что вы прокомментировали.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/facebook/react-native/issues/12754#issuecomment-328999588 ,
или заглушить тему
https://github.com/notifications/unsubscribe-auth/AXIFs_Ggnia4CGYkzHHatteucW3uHsr8ks5shwKEgaJpZM4MVA0m
.

Добавление localhost в NSAppTransportSecurity у меня сработало.


NSExceptionDomains

локальный хост

NSExceptionAllowsInsecureHTTPLoads


yourapidomain.com

NSIncludesSubdomains

NSTemporaryExceptionAllowsInsecureHTTPLoads

НСалловслокалнетворкинг



Старый добрый трюк «выключи и включи» сработал для меня.

У меня сработал перезапуск симулятора (Оборудование -> Перезагрузка).

Я нашел самый простой/быстрый способ обойти это — выйти из приложения в симуляторе (2 x Cmd + Shift + H ) и перезапустить его.

Спасибо, Юстада.
Это действительно сработало, без всяких сомнений.

Если вы используете версию REACT-NATIVE-ROUTER-FLUX < 4.0.0

Мы обновились до RN 0.47.2, и у нас появилась эта ошибка. Как было предложено @eemebarbe выше, мы удалили папку react-native внутри ~/node_modules/react-native-router-flux/node_modules, и ошибка исчезла. Мы дошли до того, что удалили папку реагирования в том же месте. Нам не пришлось ничего добавлять в настройки ATS в plist (у нас есть только Разрешить произвольные загрузки).

Это также сделало кучу предупреждений (дубликаты объявлений), которые упаковщик выдавал при запуске.

У меня такая же ошибка при запуске проекта из xcode.
это решило мою проблему:
info.plist → список свойств информации → + Настройки безопасности транспорта приложений → + Разрешить произвольные загрузки = YES

Привет,

Проблема: выдает ошибку, когда я пытаюсь запустить/установить приложение на iPhone через Xcode. Отлично работает в симуляторе (через командную строку и Xcode)

Ошибка:
img_0003

Версия Xcode: 8.3.3
Протестировано в симуляторе iOS: iPhone 6S — ОС 10.3
Устройство: iPhone SE — ОС 10.2.1
реактивный: 0.45.1

Также я попытался удалить сборку ios из папки проекта/ios.

Работает нормально для Android как на устройстве, так и на эмуляторе.

Любая помощь. Спасибо !!

В большинстве случаев эта проблема возникает, когда поиск DNS / поиск IP не может найти локальный хост.

_ Решение: _

Попробуйте добавить локальный IP-адрес в файл хоста etc.
вы можете добавить следующие строки в ваш хост-файл etc (/etc/hosts)

127.0.0.1 локальный хост
255.255.255.255 широковещательный хост
::1 локальный хост

_## Чтобы подтвердить, что это проблема_
вы можете нажать URL-адрес пакета в сафари (если вы попробуете его в хроме, это разрешится, но сафари не сможет его разрешить). http://localhost :8081/index.ios.bundle?platform=ios&dev=true&minify=false

@vivekvijayakrishnan , файл My hosts содержит указанную выше пару адресов.

пытаться
rm -rf ios/сборка/; реагирующий родной run-ios

Я пытался

rm -rf ios/build
react-native run-ios

и это решает мою проблему.

в моем случае проблема была в стороже .
Я переустановил и все снова заработало

Я тоже столкнулся с этой проблемой.
Кажется, что всякий раз, когда я менял Info.plist, это попадало.
Единственный способ решить эту проблему для меня - снять флажок «запускать скрипт только при установке» на этапах сборки.
Я проверил это, потому что где-то в react-native-xcode.sh он завис. (это еще одна проблема, которую мне нужно решить, я думаю)
Так что прямо сейчас единственный способ преодолеть этот красный экран - это

  • снять галочку "запускать скрипт только при установке"
  • запустить сборку, пока она не зависнет
  • поставить галочку "запускать скрипт только при установке"
  • приложение запустится правильно

Приведенное ниже решение, упомянутое в заголовке выше, сработало для меня:

  • Запустите «реагировать на родной запуск-ios»

  • Когда появится ошибка, запустите «npm install»

  • Затем снова запустите «react-native run-ios».

Для меня эта проблема может возникнуть из-за используемого мной прокси-сервера. Все, что мне нужно, это обойти localhost.

Что мне помогло: сделать первую букву имени зарегистрированного компонента заглавной. Полностью психический. Просто почему? Это не та ошибка, о которой сообщалось.

Ни одно из вышеперечисленных решений не работало для меня в течение последних нескольких месяцев. В других версиях я смог изменить jsCodeLocation следующим образом:

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

Но это больше не работает с последними версиями react-native.

Во всяком случае, именно по этой причине я вернулся к разработке Swift для iOS. Мне очень понравилось работать с react-native, когда я смог заставить его работать.

Я решил перезапустить свой проект на последней версии React Native (на тот момент 0.50.1), и он начал работать после того, как я перенес все из старого проекта.

Я озадачен, но, по крайней мере, теперь я могу продолжить.

Я обнаружил, что решение, предоставленное @popstheman , сработало для меня с использованием react-native 0.50.3. Если я убью все окна терминала и симулятор, а затем повторно запущу сборку, ошибка вернется, но npm install и react-native run-ios снова ее исправят.

Я запускаю проект с помощью create-react-native-app, затем npm run eject , поэтому, если я просто запущу react-native run-ios , возникнет эта проблема, поэтому я просто открываю xcode, а затем запускаю проект , он будет работать нормально.
ссылка от

Вы можете запустить npm run eject, чтобы получить проект, очень похожий на то, что сгенерировал бы реактивный init. В этот момент вам понадобится Xcode и/или Android Studio так же, как если бы вы начали с react-native init , добавление библиотек с react-native ссылкой будет работать, и вы будете иметь полный контроль над процессом компиляции собственного кода.
https://facebook.github.io/react-native/blog/2017/03/13/introduction-create-react-native-app.html

надеюсь, что это немного поможет.

Наконец удалось заставить это работать. В более новых версиях react-native (я только что тестировал v0.51.0) хак jsCodeLocation в AppDelegate.m все еще работает, но вы должны использовать index.bundle вместо index.ios.bundle. Таким образом, это должно быть так (вы должны закомментировать существующее назначение jsCodeLocation и заменить его приведенным ниже):

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

РЕШЕНИЕ:

Не забудьте сделать реактивную ссылку , если вы используете любую библиотеку, которая в этом нуждается.

Причина, по которой это устраняет проблему, заключается в том, что ..ios/build НЕ обновляется, когда мы меняем пути к проекту или просто когда мы меняем каталог нашего проекта. Сборщик никак не сможет отследить изменения, поэтому он придерживается последних известных путей.

Не заморачивайся, мы уже это сделали. Однако это все еще должно быть автоматизировано командой RN.

Я использую IntelliJ для разработки, и в моем случае IntelliJ по какой-то причине перестал автоматически вызывать react-native start перед react-native run-ios каждый раз, когда я создаю свой проект, но если я запускаю проект в режиме отладки, то react-native start вызывается и все работает нормально.

Теперь мне нужно выяснить, почему react-native start больше не называется IntelliJ в режиме сборки.

не знаю как, но работает, спасибо
также люди, ищите: общая ошибка в реакции родной
это полезно

@vegidio Достигли ли вы какого-либо прогресса и поняли, почему start не вызывается?

@NARUTOyuyang работает на меня, я использовал xxNet..... и открыл опцию globalProxy...

я закрыл опцию глобального прокси, а затем заработал.

1.rm -rf ios/сборка
2.sudo vi /частный/и т.д./хост

 # Add this line
 127.0.0.1       localhost

работает на меня.

Добавить localhost в AppTransportSecurity тоже было моей проблемой. Создан для производства, и мне пришлось вынуть его, когда я вернулся к работе над ним, чтобы вставить его обратно.

<key>NSAppTransportSecurity</key> <dict> <key>NSExceptionDomains</key> <dict> <key>localhost</key> <dict> <key>NSExceptionAllowsInsecureHTTPLoads</key> <true/> </dict> </dict> </dict>

после обновления до Xcode 9.2 мне нужно добавить приведенный ниже фрагмент кода в info.plist, чтобы решить эту проблему.

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
    <key>NSAllowsArbitraryLoadsInWebContent</key>
    <true/>
    <key>NSExceptionDomains</key>
    <dict>
        <key>localhost</key>
        <dict>
            <key>NSExceptionAllowsInsecureHTTPLoads</key>
            <true/>
        </dict>
    </dict>
</dict>

@simplepanda В моем случае, очевидно, это была проблема с IntelliJ. У них была ошибка, связанная с React Native, которая была исправлена ​​в последней версии (2017.3.2), и она снова работает после обновления.

Моя история: я использовал Xcode для создания приложения React Native для IOS в течение нескольких недель (последняя версия React Native, последняя версия Xcode (9.2) для High Sierra), и все работало отлично. Внезапно сегодня я получил этот ужасный «URL-адрес пакета отсутствует».

Я внимательно прочитал все ответы здесь. Я пробовал несколько вещей, но ничего не работало. Затем я заметил в начале сообщений на консоли Xcode сообщение, в котором говорилось что-то вроде «нельзя использовать голый http://...» и, возможно, что-то о транспортной безопасности. Теперь мое приложение не использует никаких URL-адресов (не говоря уже о пустом URL-адресе), поэтому это немного озадачивало. Во всяком случае, я попробовал то, что предложил Фил Эндрюс (и zjx): добавить исключение для «localhost» в NSAppTransportSecurity в info.plist.

И это работает! Почему раньше это работало без этого, а теперь это требуется, поистине загадка!

Попробуй

npm install metro

Решил из-за бага

Если кому нужен скрипт для включения/выключения безопасности транспорта в Info.plist :

    var fs = require('fs');
    var plist = require('plist');

    function modifyIosTransportSecurity(plistPath, enable) {
      var info = plist.parse(fs.readFileSync(plistPath, 'utf8'));
      info.NSAppTransportSecurity.NSAllowsArbitraryLoads = !enable;
      info.NSAppTransportSecurity.NSAllowsArbitraryLoadsInWebContent = !enable;
      info.NSAppTransportSecurity.NSAllowsLocalNetworking = !enable;
      fs.writeFileSync(plistPath, plist.build(info));
    }

Я вызываю это из сценария до и после сборки, который был добавлен на этапах сборки XCode.

На симуляторе есть два приложения (один и тот же проект). Как только я удалю новый, проблема будет решена.

image

если вы отметите это, Xcode не сможет зарегистрировать какую-либо ошибку. Снимите флажок и найдите ошибку
''undefined не является объектом (оценка '_reactNative.ViewPropTypes.style')''

и сделать так:

1 импортировать ViewPropTypes из react-native
2изменить View.propTypes на ViewPropTypes

и это работает для меня.
если вы недавно обновили свою версию RN, у вас может быть это.

у меня была эта ошибка только в режиме выпуска. и режим разработки работает нормально. Я пробовал почти все вышеперечисленные решения. Но ни одно из них не работает.

:
jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" резервный kResource:nil ];

"react": "16.0.0-alpha.12",
"react-dom": "16.0.0-alpha.12",
"react-native": "0.51.0",

и несколько дней назад просто обновите 0.44 до 0.51.0. если эта проблема не может быть исправлена. я вернусь к более низкой версии, попробуйте.

Не уверен, что это поможет вам, ребята, но я изменил конфигурацию сборки в Xcode (Product => Scheme => Edit Scheme) обратно на Debug, и это сработало.

Эта работа для меня:

react-native link
react-native run-ios

Основываясь на этом потоке и некоторых других, есть много ошибок, вызывающих эту проблему.
Но мой был связан с доменом localhost. Поэтому убедитесь, что вы установили 127.0.0.1 localhost в файле /etc/hosts для Linux/Unix или аналогичном файле в Windows.

если ваш проект открыт xcode. пожалуйста, закройте xcode и запустите снова, это работает для меня

Привет, ребята,
Я решил это на своем устройстве, заменив на AppDelegate.m:

jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil];

От:

http://IP_ADDRESS_ON_MY_LAN:8081/index.ios.bundle?platform=ios&dev=true

Где IP_ADDRESS_ON_MY_LAN = 192.168....

Я столкнулся с той же проблемой после выпуска версии сборки (под ios).
Я изменил следующие и получил нормальный результат.
1) изменить коды AppDelegate.m:
комментарий
jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
и раскомментировать
jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];
2) повторно включить локальный хост ATS в Info.plist
Параметры безопасности транспорта приложений -> Домены Excepiton -> localhost -> NSExceptionAllowsInsecureHTTPLoads -> TRUE
3) снова запустите реактивный запуск-ios и перезагрузите приложение в симуляторе

@monkingame Спасибо , локальная часть спасла мой день!

@monkingame Спасибо, мне помогло изменение комментариев. Я понятия не имею, из-за чего эта ошибка начала происходить с самого начала, она началась после того, как я сделал производственную сборку и хотел вернуться к отладке. Как это изменило расположение кода?

Эта работа для меня.

rm -rf ios/build
react-native run-ios

Эта работа для меня.

rm -rf ios/build/; kill $(lsof -t -i:8081);
react-native run-ios

бегать
запуск пряжи или запуск npm
запустить сервер разработки

при необходимости запустите снова:
реагирующий родной run-ios

https://stackoverflow.com/a/48016926/4636856

У меня почему-то jsCodeLocation изменилось на AppDelegate.m

убедитесь, что это
jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];

Из другого потока, попробовав все, это решение сработало:

"это решило мою проблему:
info.plist → список свойств информации → + Настройки безопасности транспорта приложений → + Разрешить произвольные загрузки = ДА"

Я решил эту проблему, включив приведенный ниже код в файл Info.plist, который я удалил из производственной сборки.
<key>NSAppTransportSecurity</key> <dict> <key>NSExceptionDomains</key> <dict> <key>localhost</key> <dict> <key>NSExceptionAllowsInsecureHTTPLoads</key> <true/> </dict> </dict> </dict>

Полегче, просто удалите ios/build ( rm -rf ios/build ), затем снова запустите react-native run-ios ! Отведи меня на 30 метров, чтобы понять... LOL...

@jiteshwadia та же проблема возникла у меня.
что мне теперь делать??

У меня была проблема с тем, что Node не распознавался ни на одной открытой новой вкладке. Поэтому я должен использовать nvm use на каждой новой вкладке. Поскольку упаковщик открывался в новой вкладке, когда я запускал npm run ios , он не видел Node. И по какой-то причине я не могу ввести этот терминал упаковщика.

Итак, мое решение заключалось в том, что на одной вкладке запустите nvm use 8.9.3 или любую другую версию, на которой вы работаете, а затем на этой вкладке запустите npm start . Затем откройте новую вкладку и выполните nvm use 8.9.3 , а на этой вкладке запустите npm run ios или как вы запускаете свой симулятор.

Эта работа для меня.

react-native bundle --entry-file='index.js' --bundle-output='./ios/main.jsbundle' --dev=false --platform='ios' --assets-dest='./ios'

У меня была такая же проблема, и, попробовав все здесь, ответ qyvip привел меня к правильному.
В ios>"Ваша основная папка проекта">AppDelegate.m.

Обновить
jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" резервный ресурс kResource:nil ];

быть
jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" резервный kResource:nil ];

Это сработало для меня. Убедитесь, что ваш main.jsbundle нацелен на ваш основной проект.
Так же пришлось чистить кэши.
image

Добавление NSAllowsArbitraryLoads: true решило мою проблему.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги