当我运行一个react-native项目时,我得到一个错误,没有bundle URL,但我不知道我做了什么错误,我很困惑。
当前回答
这是因为您的客户机无法连接到您的打包器服务器。
如果你是一个像我一样的中国程序员,我认为你可能会使用VPN通过GFW。当您的VPN工具处于“全局模式”时,您的所有请求都将通过世界旅行,无法到达本地主机
试试“自动代理模式”。
如果你不是来自中国,或者你的VPN设置已经是“自动代理模式”,我建议你关闭你的打包服务器,再试一次。
其他回答
当您不允许通过localhost进行不安全连接时,或者您试图通过http接受不安全连接时,就会发生此问题。
要解决这个问题,在info.plist上添加这个:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
<key>NSAllowsArbitraryLoadsInWebContent</key>
<true/>
<key>NSAllowsLocalNetworking</key>
<true/>
</dict>
Mcafee Macbook用户:
Sudo launchctl remove com.mcafee.agent.macmn
在我的情况下,我不小心从Xcode的构建阶段删除了这个脚本。
所以,一定要有这个脚本。如果没有,只需点击“+”&选择“新建运行脚本阶段”,然后粘贴以下代码。
export NODE_BINARY=node
../node_modules/react-native/scripts/react-native-xcode.sh
如果像我一样,您有一个在终端会话(.bashrc/.bash_profile)启动时执行的命令集,它等待输入(在我的例子中,是SSH Key的密码短语,带SSH -add),那么您将注意到它实际上阻止打开的终端启动Metro服务器!
尝试在启动时禁用该命令(或者至少在React Native打开的终端中禁用)。这对我很管用!
打开终端窗口
cd into YOUR_PROJECT/ios
使用rm -r build删除build文件夹
然后在Xcode中打开你的项目并运行一次。它将在启动服务器并创建主服务器时运行。jsbundle文件。
现在如果你再次从终端运行react-native Run -ios,它将像预期的那样工作。
希望能有所帮助!
推荐文章
- 如何删除默认的导航栏空间在SwiftUI导航视图
- 如何配置历史记录?
- 在react native中隐藏/显示组件
- 如何在iOS中使用Swift编程segue
- Swift -整数转换为小时/分钟/秒
- Swift:声明一个空字典
- React钩子:从回调中访问最新状态
- 在成功提交我的应用程序后,“太多符号文件”
- 首先添加一个UIView,甚至是导航栏
- 我如何改变UIButton标题颜色?
- 在Swift中如何调用GCD主线程上的参数方法?
- NSLayoutConstraints是可动画的吗?
- iOS -构建失败,CocoaPods无法找到头文件
- React-Native:应用程序未注册错误
- 禁用react native按钮