当我运行一个react-native项目时,我得到一个错误,没有bundle URL,但我不知道我做了什么错误,我很困惑。
当前回答
我尝试了以上所有的解决方案,都不适合我。这对我来说是有效的,如果上面的答案不适合你,你可以尝试一下。
在Xcode上打开你的项目工作区,删除main。[PROJECT-NAME]/main.jsbundle文件 创建一个新的main。Jsbundle,在同一个文件夹中。{右键单击->选择新文件->它将打开一个对话框,寻找其他部分,->选择空->命名文件主。Jsbundle ->保存 然后回到项目的终端。执行如下命令:
React-native bundle——entry-file index.js——platform ios——dev false——bundle-output ios/main。Jsbundle——assets-dest ios
启动打包器并再次运行IOS应用程序
我真心希望这能帮到你。
其他回答
试着运行这段代码:
$ sudo xcodebuild -license
这可能会解决问题。这对我很有用。
原因:
这是因为应用程序无法找到服务器(通过javascript代码为UI服务)。
解决方案:
确保所有相关的react native关闭(不是必要的,只是为了我的解决方案有一个干净的开始,在我的解释后,你可以弄清楚这是需要的还是不需要的) 先运行NPM Run start或yarn start 等待此命令完成工作(通常你会看到加载依赖关系图,完成)。 运行react-native Run -ios/android
解释:
React Native包含2部分: 本地部分 Javascript部分 构建命令: React-native run-ios/android是构建本机部分,然后部署到设备上,并在设备上启动应用程序(模拟器/模拟器/真实设备)。这通常需要3~4分钟才能完成。 npm run start或yarn start是构建javascript部分,并启动开发服务器为应用程序提供构建的UI。这通常需要30秒完成。
通常情况下,javascript部分先完成,然后是本地部分。(根据他们使用的时间)。
=>这只适用于第一次构建(新鲜构建)。
=>重建:
原生部分只需要10~15秒来检查更改,因为在javascript部分构建和服务之前,原生部分=>没有更改。(我不确定javascript部分是否被重建,但它比本地部分花费了更长的时间) 这就是为什么我们有这个问题,应用运行时要求的东西还不存在。
奖金:
React-native run-ios/android会自动启动开发服务器。 这就是为什么当你在react-native init <app_name>之后运行react-native run-ios/android时,一切都运行得很好。(因为自动启动功能和新构建的时间是上面的状态)。 其他“移除”解决方案之所以有效,是因为它们迫使人们重建。
在这个答案上使用的时间是相对于我的机器=>可能不同于其他人。
试着加上这句话:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
<key>NSAllowsArbitraryLoadsInWebContent</key>
<true/>
<key>NSAllowsLocalNetworking</key>
<true/>
</dict>
我也遇到了这个问题(第一次开始使用React Native)。当一个ios模拟(react-native run-ios)正在运行时,问题消失了。我运行npm install,然后再次运行react-native run-ios。在终端窗口中,它显示正在捆绑,然后模拟器显示欢迎屏幕。
在react-native init PropertyFinder行之后检查这个链接,尝试使用npm start(这对我来说是有效的)
========================================================================
16.9更新
我的端口8081被McAfee阻塞。直接使用不同的端口不能工作react-native start——port=8082和react-native run-ios——port=8082
几乎所有的解都试过了。但是什么都不管用。
"react": "16.9.0",
"react-dom": "^16.12.0",
"react-native": "0.61.5",
解决方案:
在Xcode中搜索8081,并将它们全部替换为8082。然后运行相同的命令来构建和运行应用程序。应用程序运行顺畅
react-native start --port=8082
react-native run-ios --port=8082
以下步骤:
用xcode打开ios文件项目 在项目包中删除main。jsbundle文件 通过main添加新的空文件。jsbundle名字 运行comment: react-native bundle——entry-file index.js——platform ios——dev false——bundle-output ios/main。Jsbundle——assets-dest ios 现在是react-native run-ios
youtube链接:https://www.youtube.com/watch?v=eCs2GsWNkoo
推荐文章
- 在UITableView中检测哪个UIButton被按下了
- 为iOS模拟器构建,但链接框架'****.framework'是为iOS构建的
- iOS更新后保留旧的启动屏幕和应用程序图标
- 如何象征崩溃日志Xcode?
- 我如何得到一个plist作为一个字典在Swift?
- Xcode - ld:没有为- lpods找到库
- 自动调整掩码大小编程vs接口生成器/ xib / nib
- NSUserDefaults -如何判断一个键是否存在
- Xcode UI测试用例中的延迟/等待
- 裁剪一个UIImage
- 这个应用程序是否使用广告标识符(IDFA)?—AdMob 6.8.0
- iOS 7: UITableView显示在状态栏下
- 如何产生类似ios7模糊视图的效果?
- 在一个故事板,我如何使一个自定义单元用于多个控制器?
- 将故事板从iPhone转换为iPad