【问题标题】:React-native running offline bundle error no script URL providedReact-native 运行离线包错误未提供脚本 URL
【发布时间】:2017-01-20 11:33:21
【问题描述】:

我试图只运行一次完全脱机的应用程序包,以测试麦克风是否正常工作并且未能正常工作。 我已经阅读了其他线程和 github 问题,但我有一个相当奇怪的设置:

我的 OSX 机器 (sierra) 在 VM 中运行(我无法访问 Mac),因此 iphone(运行 10.2 的 5s)和 OSX 可能似乎不在同一个网络上(因为主机是与iphone连接到同一个WIFI,但VM正在使用NAT)。

我可以正确绑定react-native bundle --platform ios --dev false --entry-file index.ios.js --bundle-output ios/main.jsbundle

1) 将文件添加到项目中 2) 设置方案目标发布

构建成功,但运行后我得到了

没有脚本网址

是否可以将 main.jsbundle 以某种方式放入 iphone 并对其进行测试(它不需要任何开发服务器)?我不关心调试我只想加载它,就像你可以在 android 中使用 .apk 一样。 为什么它必须连接到任何 URL?

【问题讨论】:

  • main.jsbundle 文件是否真的存在于您的APPNAME.app 捆绑目录中?
  • 它在 APPROOT/ios/main.jsbundle 中
  • RN 打包器将其放在 APPROOT/main.jsbundle 中
  • 但是 FB 文档中的命令说要使用 --bundle-output ios/main.jsbundle。我该怎么办?在 APPROOT 中复制它?
  • Docs 将您的项目文件夹放在<project>/ios/main.jsbundle 中(可能是因为它允许为各种平台拆分文件),但在最终的应用程序包中它将位于<app>/main.jsbundle 中,请参阅github.com/facebook/react-native/blob/master/packager/… 脚本(此脚本在 Xcode 中构建项目时调用)

标签: iphone xcode macos react-native


【解决方案1】:

正如@vovkasm 提到的,值得检查main.jsbundle 文件是否实际上包含在编译的.app 中。您可以在“产品”目录中找到它,然后在 Finder 中右键单击它并“显示包内容”,main.jsbundle 应该在其中列出。 如果没有,那么您需要将 main.jsbundle 添加到您的 Xcode 项目中。

对我来说,捆绑文件显示在项目侧边栏中,但实际上并未正确添加到项目中。

【讨论】:

  • 这条评论终于为我解决了。 1. 在 Xcode 左侧窗格中,打开 [ProjectName]/Products 2. 右键单击​​ ProjectName.app -> 在 Finder 中显示 3. 在 Finder 中右键单击 -> 显示包内容 我的 main.jsbundle 不存在 - 它在我的项目中,但旁边有一个问号,我读了它并且它有效。谢谢!
  • 我也有同样的问题,如何在packege中添加main.jsbundle文件?
【解决方案2】:

如果我在我的 VM 中使用包 https://github.com/mcnamee/react-native-starter-app,则问题不存在。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-17
    • 1970-01-01
    • 2012-12-15
    • 2018-11-09
    • 1970-01-01
    • 2020-01-19
    • 2022-11-11
    相关资源
    最近更新 更多