在react-native中,什么方法没有绑定URL?

当我运行一个react-native项目时,我得到一个错误, no bundle URL present ,但我不知道我做了什么错误,我非常困惑。

在这里输入图像说明

我也遇到了这个问题(第一次开始使用React Native)。 当一个ios模拟( react-native run-ios )正在运行时,问题消失了 – 我运行了npm install ,然后再次react-native run-ios 。 在terminal窗口显示它是捆绑的,然后模拟器显示欢迎界面。

检查这个链接后, react-native init PropertyFinder行尝试使用npm start (这一个为我工作)

解决错误No bundle URL present

  • 在项目根目录中运行以下命令以删除iOS构build目录,并在重新构build之前终止其他React Native会话(假设它们在默认端口8081上运行):

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

  • 更新您的React Native工作stream程,以避免这些错误发生,将上述命令组合到一个别名中,并使用以下命令将其附加到Bashconfiguration文件.bashrc:

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

现在你可以用一个简单的别名快捷方式运行React Native iOS build(不用担心死亡出现的一些常见的红色错误屏幕):

rni

closures你的模拟器和terminal。 打开新的并转到你的项目,然后像这样升级你的react-native:

 react-native upgrade 

问题在: https : //github.com/facebook/react-native/issues/5090

我有同样的错误,只能通过Xcode运行应用程序。 react-native run-ios不起作用。 要解决此问题,您需要删除YOUR_PROJECT/ios/build/build文件夹。 在此之后,您应该能够通过react-native run-ios再次运行您的应用程序。 希望这可以帮助。

必须按照错误消息中的说明运行sudo xcodebuild -license

“同意Xcode / iOS许可证需要pipe理员权限,请运行”sudo xcodebuild -license“,然后重试此命令。”

现在工作

对我来说问题是它不能创buildJS捆绑。 它没有声明从Xcode构build时的错误,所以没有办法让你知道这一点。 要find错误,请运行以下命令。

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

对于我来说,错误是因为缺lessPureRenderMixin组件。 可以在这里find解决scheme: https : //github.com/facebook/react-native/issues/13078 。 基本上你必须手动安装react@16.0.0-alpha.3。 这可以通过运行这个命令来完成。

npm i --save react@16.0.0-alpha.3

这个问题现在正在发生,因为更新版本的反应alphas正在发布(特别是alpha.5),他们正在打破反应原生的构build。

这是react-native v0.42.1的一个问题。 尝试closures所有terminal和XCode实例并运行:

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

什么解决了我的:

  • 打开一个terminal窗口
  • cd进入YOUR_PROJECT/ios
  • rm -r build删除build文件夹
  • 再次运行react-native run-ios

或者,您可以打开Finder,导航到YOUR_PROJECT/ios并删除build文件夹。

然后再运行react-native run-ios again

来源: Andrew Bancroft

它也发生在我身上,重新启动我的Mac后。 在模拟器上运行应用程序时,会有一个launchPackagerterminal窗口打开。 我closures了窗口并终止了这个过程(我也打开了模拟器),然后再运行react-native run-ios,一切正常。

在我的情况下,通过重新启动adb服务器解决了问题: adb kill-server && adb start-server

我也遇到了这个问题…问题是打包机没有运行,似乎可能是因为我的默认shell是zsh。 反应,本地轮胎打开一个新的terminal窗口,并运行.../node_modules/react-native/packager/launchPackager.command但这并没有运行。 手动运行(并保持运行)为我解决这个问题。

解决scheme – > npm start然后打开新的terminal,并转到您的项目path,然后点击react-native run-ios它为我工作

检查您的networking代理,更好地closures它。

或者你应该找另一种方式来维护包装服务器

检查你的'localhost'键在NSExceptionDomains字典在info.plist

如果不存在,则会导致错误。

假设您正在使用nvm并安装了多个版本的节点,这里是解决scheme:

  1. 假设您在node v6.9.5运行npm install -g react-native-cli
  2. 现在通过运行nvm alias default 6.9.5使默认node v6.9.5
  3. 现在运行react-native run-ios

问题是,你有通过nvm安装的节点的多个版本,并安装react-native-cli你已经切换或安装最新版本的节点,这是没有标记为默认节点指向nvm呢。 运行react-native run-ios打开另一个新的terminal窗口,其中默认nvm未指向已安装react-native-cli的节点版本。 只要按照上面的设置,我希望应该帮助。

我发现绕过这个最简单/最快的方法是在模拟器(2 x Cmd + Shift + H )中退出应用程序并重新启动。

确保launchPackage.command在terminal中运行,然后再次运行。 它将build立捆绑。 这有点像webpack-dev-server。

大多数情况下,当DNS查找/ IP查找无法find本地主机时,会发生此问题。

解答:

尝试添加本地主机IP到您的主机文件。

您可以将下面的行添加到您的etc主机文件(/ etc / hosts)

127.0.0.1 localhost

255.255.255.255 broadcasthost

:: 1 l。 ocalhost

要确认这个问题,你可以打Safari浏览器的url(如果你在Chrome浏览器中试用,这将解决,但Safari浏览器将无法解决它)。 HTTP://本地主机:8081 / index.ios.bundle平台= iOS和开发=真缩小= FALSE

  1. 检查你的主机, 127.0.0.1 localhost是不是删除
  2. 检查networking代理是否没有设置
  3. 然后npm installreact-native upgrade来重置您的项目

我正在使用RN 0.49.5 。 我已经尝试了很多方法,但没有人工作。 最后我解决了这个问题。 这很简单,容易。

主要想法是将localhost改为127.0.0.1 ,但不是RN告诉你的地方。 它在RCTBundleURLProvider.m# – (BOOL)isPackagerRunning:(NSString *)主机

代码的变化: oc - NSString *host = ipGuess ?: @"localhost"; + NSString *host = ipGuess ?: @"127.0.0.1"; oc - NSString *host = ipGuess ?: @"localhost"; + NSString *host = ipGuess ?: @"127.0.0.1"; 这对模拟器来说是好的。 如果是设备,只需将IP地址更改为您的设备。

确保您的ATS设置在.plist文件中是正确的。

您可以在/ios/smileyspinners/Info.plistfind该文件

localhost必须被定义为这样的exception请求目标:

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

*(不要忘记删除发行版本..)

closures当前运行的React Packagerterminal窗口,然后从Xcode重新运行你的iOS项目应该工作。