当我运行一个react-native项目时,我得到一个错误,没有bundle URL,但我不知道我做了什么错误,我很困惑。
当前回答
export FORCE_BUNDLING=true为我工作。在控制台中有一个警告,它没有被捆绑。
其他回答
这是因为您的客户机无法连接到您的打包器服务器。
如果你是一个像我一样的中国程序员,我认为你可能会使用VPN通过GFW。当您的VPN工具处于“全局模式”时,您的所有请求都将通过世界旅行,无法到达本地主机
试试“自动代理模式”。
如果你不是来自中国,或者你的VPN设置已经是“自动代理模式”,我建议你关闭你的打包服务器,再试一次。
在重新启动我的mac后,我也遇到过这种情况。当你在模拟器上运行应用程序时,会打开一个launchPackager终端窗口。我关闭了该窗口并终止了进程(我也关闭了模拟器),然后再次运行react-native run-ios,一切正常。
当您不允许通过localhost进行不安全连接时,或者您试图通过http接受不安全连接时,就会发生此问题。
要解决这个问题,在info.plist上添加这个:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
<key>NSAllowsArbitraryLoadsInWebContent</key>
<true/>
<key>NSAllowsLocalNetworking</key>
<true/>
</dict>
检查你的网络代理,最好关闭它。
或者你应该找其他方法来维护打包服务器
解决错误No bundle URL present by:
在你的项目根目录中运行以下命令删除iOS构建目录,并在重新构建之前杀死其他React Native会话(假设它们运行在默认端口8081上):
Rm -rf ios/build/;Kill $(lsof -t: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;源~ / . bashrc
现在你可以用一个简单的别名快捷方式运行React Native iOS构建(不用担心出现一些常见的红色死亡错误屏幕):
rni
推荐文章
- 如何在iOS上进行base64编码?
- 如何设置背景颜色的视图透明在React本地
- 是否有可能更新一个本地化的故事板的字符串?
- 以编程方式获取Bundle Identifier
- 为iPad和iPhone设计输入按钮
- 如何在我的iPhone应用程序中使用NSError ?
- 我的预发行应用已经在iTunes Connect中“处理”了一周多,这是怎么回事?
- Xcode iOS项目只显示“我的Mac 64位”,但不显示模拟器或设备
- Objective-C中的自动引用计数不能防止或减少什么样的泄漏?
- 对象作为React子对象无效。如果要呈现子元素的集合,请使用数组
- 在Xcode 9中如何从打开的多个模拟器中退出或关闭单个模拟器?
- Redux @connect装饰器中的“@”(at符号)是什么?
- 如何使用Swift播放声音?
- UINavigationBar自定义返回按钮没有标题
- 如何精确地以毫秒为单位记录方法的执行时间?