【问题标题】:React-Native iOS app - running on device...error message: No bundle URL presentReact-Native iOS 应用程序 - 在设备上运行...错误消息:不存在捆绑 URL
【发布时间】:2018-09-11 01:11:19
【问题描述】:

我构建了一个在 iOS 模拟器上运行良好的应用程序。但是,当我尝试在 iOS 设备上构建它时,构建和安装成功,但在打开时,我收到以下消息:

不存在捆绑 URL。

确保您正在运行打包服务器或在您的应用程序包中包含一个 .jsbundle 文件。

RCTF致命

__28-[RCTCxxBridge handleError:]_block_invoke

我现在已经在三个设备上进行了尝试,所以设备不是问题。 到目前为止,我已经: 1)删除iOS构建文件夹并重建 2)安装了npm 3) 清理 xCode 数据 4) 多次重启每个进程

我注意到的一件事是,React Packager 不像我运行 Simulator 时那样在构建结束时捆绑 index.js。这可能是问题的核心,但我不确定如何解决它。

我还了解到,使用 React-Native-Router-Flux(我确实这样做了)可能会对这个过程产生一些影响,但也不确定会有什么相关的修复。

谢谢!

【问题讨论】:

    标签: ios xcode react-native react-redux react-native-router-flux


    【解决方案1】:

    我通过在 Info.plist 文件中包含以下代码来解决它,该文件已从生产版本中删除。

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

    【讨论】:

      【解决方案2】:

      看看这里的解决方案之一是否有效。您可能已经删除了 build 文件夹并进行了重建,但这些答案似乎表明在删除和重建之前终止所有 React-Native 会话可能有效。

      What means of no bundle URL present in react-native?

      https://github.com/facebook/react-native/issues/12754

      https://www.google.com/search?client=safari&rls=en&q=No+bundle+URL+present.&ie=UTF-8&oe=UTF-8

      包含对您已经尝试过但无效的 StackOverflow 文章/问题线程的引用会有所帮助。

      【讨论】:

      • 嘿...感谢您的回复。我不包括我引用的线程是不好的。我之前尝试过这个线程中的建议,然后又试了一次。没有不同。我认为这里的关键变量是 Simulator 构建良好。只是当我构建到没有找到捆绑 URL 的设备时
      • 哦,没问题!只是一个友好的建议:)
      • 欣赏它。任何想法(例如 xCode 设置)可能导致本地构建和设备构建之间的差异?
      【解决方案3】:

      在 Appdelegate.m 中注释这一行

      jsCodeLocation = [[RCTBundleURLProvider sharedSettings]jsBundleURLForBundleRoot:@"index" fallbackResource:nil];
      

      使用这条线

       jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; 
      

      然后运行一个命令来制作一个 jsbundle :-

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

      希望对你有帮助!

      【讨论】:

      • 嘿 Kartik -- 谢谢你的想法。我试过这个并重建,我的设备仍然没有在 .jsbundle 上运行。
      • 还有其他想法吗?
      猜你喜欢
      • 1970-01-01
      • 2017-08-14
      • 1970-01-01
      • 2018-05-17
      • 2018-05-20
      • 2019-03-02
      • 2016-11-25
      • 2020-09-24
      • 2016-11-24
      相关资源
      最近更新 更多