Подтвердить что ты не робот

В чем смысл "Отсутствие URL-адреса пучка" в ответном-родном?

Когда я запускаю реактивный проект, я получаю сообщение об ошибке no bundle URL present, но я не знаю, какие ошибки я делаю, я был очень смущен.

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

4b9b3361

Ответ 1

Решите ошибку No bundle URL present:

  • Запустив следующую команду в корневом каталоге проекта, чтобы удалить каталог сборки iOS, и чтобы убить другие сеансы React Native (при условии, что они запущены на порту 8081 по умолчанию) перед повторной сборкой:

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

  • Обновите свой рабочий процесс React Native, чтобы избежать этой ошибки, объединив приведенную выше комбинацию команд в псевдоним и добавив его в конфигурационный файл Bash.bashrc с помощью этой команды:

echo "alias rni=\"kill \$(lsof -t -i:8081); rm -rf ios/build/; react-native run-ios\"" >> ~/.bashrc; source ~/.bashrc

Теперь вы можете запустить сборку React Native iOS (не беспокоясь о некоторых распространенных красных экранах ошибок при появлении смерти) с простым сокращением псевдонима:

rni

Ответ 2

Я просто столкнулся с этой проблемой (впервые начал работу с React Native). Проблема исчезла, когда - пока симуляция ios (react-native run-ios) была запущена - я запустил npm install, а затем react-native run-ios снова. В окне терминала оно показало, что оно объединяется, а затем симулятор показал экран приветствия.

Посмотрите эту ссылку для инструкций после того, как react-native init PropertyFinder попробуйте использовать npm start (Это работает для меня)

Ответ 4

Как указано в сообщении об ошибке:

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

... Я выполнил следующую команду:

sudo xcodebuild -license

Он работает сейчас.

Ответ 5

Эта проблема возникает, когда вы не разрешаете незащищенные соединения через localhost, или, возможно, пытаетесь принять незащищенные соединения через http.

Чтобы исправить это, добавьте это на info.plist:

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

Ответ 6

Имела ту же проблему, когда я связал свое приложение. Убедитесь, что ваш main.jsbundle нацелен на ваш основной проект

Ответ 7

Причина:

Это связано с тем, что приложение не может найти сервер (который обслуживает пользовательский интерфейс - по javascript-коду).

Решение:

  • Удостоверьтесь, что все, что связано с реагированием на родной, закрыто (не обязательно, просто для того, чтобы иметь чистое начало для моего решения, после моего объяснения, вы можете понять, что это необходимо или нет)
  • запустить npm run start или yarn start сначала
  • подождите, пока эта команда выполнит задание (обычно вы увидите Loading dependency graph, done.)
  • run react-native run-ios/android

Пояснение:

  • React Native поставляется с 2 частями:

    • Родная часть
    • Часть Javascript
  • Команды сборки:

    • react-native run-ios/android заключается в создании собственной части, затем развертывании на устройствах и запуске приложения на устройствах (имитатор/эмулятор/реальное устройство). Это обычно занимало 3 ~ 4 минуты, чтобы закончить.

    • npm run start или yarn start заключается в создании части javascript и запуске сервера dev для обслуживания встроенного пользовательского интерфейса для приложения. Это обычно занимает 30 секунд, чтобы закончить.

= > Обычно часть javascript завершается первой, затем нативная часть пришла позже. (в зависимости от времени, которое они использовали).

= > Это верно только для сборки в первый раз (новая сборка).

= > для повторной сборки:

  • Нативная часть потребовала 10 ~ 15 секунд для проверки изменений и потому, что никакая смена для native part = > не была выполнена до того, как часть javascript была построена и обслуживается. (Я не уверен, что часть javascript была перестроена или нет, но потребовалось много времени, чем исходная часть)

  • Вот почему у нас была эта проблема, приложение запустило и потребовало того, что еще не существует.

Bonus:

  • react-native run-ios/android автоматически запустит для вас сервер dev.
  • Вот почему, когда вы запустили react-native run-ios/android сразу после react-native init <app_name>, все прошло хорошо. (потому что функция автоматического запуска и время было занято для новой сборки, как указано выше).
  • Другие "удаленные" решения работали, потому что они принудительно восстанавливали.

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

Ответ 8

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

Ответ 9

Попробуйте запустить этот код ---

sudo xcodebuild -license

Это может решить проблему. Это работает для меня.

Ответ 10

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

Решение :

Попробуйте добавить IP-адрес localhost в ваш файл хоста etc.

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

127.0.0.1 localhost

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

:: 1 л. ocalhost

Чтобы подтвердить, что это проблема, вы можете нажать на URL пакета в Safari (если вы попробуете это в Chrome, это разрешит, но Safari не сможет решить). HTTP://локальный: 8081/index.ios.bundle платформы = ИОС & DEV = истина и преуменьшать = ложь

Ответ 11

Что решило это для меня:

  • Откройте окно терминала
  • cd в YOUR_PROJECT/ios
  • Удалите папку сборки с помощью команды rm -r build
  • Запустите react-native run-ios снова

Кроме того, вы можете открыть Finder, перейти к YOUR_PROJECT/ios и удалить папку build.

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

Источник: Эндрю Бэнкрофт

Ответ 12

Убедитесь, что ваши настройки ATS верны в файле.plist.

Вы можете найти файл в /ios/{{project_name}}/Info.plist

localhost должен быть определен как целевой объект запроса исключения следующим образом:

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

* (не забудьте удалить это в версии выпуска..)

Ответ 13

Для меня проблема заключалась в том, что он не мог создать пакет 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 я --save [email protected]

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

Ответ 14

Решение → npm start затем откройте новый терминал и перейдите к своему пути к проекту, а затем нажмите react-native run-ios он работает для меня

Ответ 15

Это проблема с response-native v0.42.1. Попытайтесь закрыть все экземпляры терминала и XCode и запустите:

launchctl unload ~/Library/LaunchAgents/com.github.facebook.watchman.plist
watchman version
react-native run-ios

Ответ 16

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

Ответ 17

сначала закройте симулятор, затем запустите их на терминале

npm install

react-native run-ios

Ответ 18

проверьте свой сетевой прокси, лучше отключите его.

или u должен найти другой способ поддержки сервера упаковщика

Ответ 19

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

Ответ 20

У меня эта проблема произошла и для меня... проблема заключалась в том, что пакет не запускался, похоже, потому, что моя оболочка по умолчанию была zsh. чтобы создать новое окно терминала и запустить .../node_modules/react-native/packager/launchPackager.command, но это не сработало. Вручную запустить это (и сохранить его) исправил это для меня.

Ответ 21

проверьте свой "localhost" ключ в NSExceptionDomains dict в файле info.plist

если он не существует, он вызывает ошибку.

Ответ 22

У меня была такая же проблема. Но моя проблема заключалась в том, что мой Mac и iPhone не были в той же сети Wi-Fi.

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

Ответ 23

Это случилось со мной, после перезагрузки моего mac. Там открывается окно терминала launchPackager, когда вы запускаете приложение на симуляторе. Я закрыл это окно и завершил процесс (я также закрыл симулятор), а затем снова запустил run-ios для реагирования, и все работает нормально.

Ответ 24

Предполагая, что вы используете nvm и несколько версий node, вот решение:

  • Скажите, что вы запустили npm install -g react-native-cli в node v6.9.5.
  • Теперь сделайте node v6.9.5 по умолчанию, запустив nvm alias default 6.9.5
  • Теперь запустите react-native run-ios

Проблема заключается в том, что у вас есть несколько версий node, установленных через nvm, и для установки react-native-cli вы включили или установили последнюю версию node, которая не помечена как по умолчанию node, чтобы указать в nvm пока. Когда вы запускаете react-native run-ios, это открывает еще одно новое окно терминала, в котором по умолчанию nvm не указывается версия node, где вы установили react-native-cli. Просто следуйте приведенным выше настройкам, я надеюсь, что это поможет.

Ответ 25

Я столкнулся с той же проблемой и решил ее, внеся изменения в файл AppDelegate.m. Я изменил

jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];

в

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

И у меня это сработало :)

Ответ 26

попробуйте добавить это:

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

Ответ 27

Просто запустите в Терминале react-native start:

cd your react native app directory/ react-native start 

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

Ответ 28

убедитесь, что у вас есть .jsbundle в вашем проекте

Добавить

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

в вашем реагировать нативный код попробуйте снова открыть проект

Ответ 29

Убедитесь, что launchPackage.command запущен в терминале и повторите попытку. Он будет строить пучок. Это похоже на webpack-dev-сервер.

Ответ 30

  • проверьте хосты, что 127.0.0.1 localhost не удаляет
  • проверьте, что сетевой агент не настроен.
  • а затем npm install и react-native upgrade - reset ваш проект