ios - React Native 使用设备上的预捆绑文件,即使是 DEV 模式

标签 ios xcode react-native

几天前,当我在设备上通过 Xcode 构建和运行我的 React Native 应用程序时,我意识到即使我将方案设置为调试,该应用程序仍会从预捆绑文件中加载。除此之外,其他一切都像开发者模式。我可以摇动设备和开发人员弹出窗口,在控制台中我得到输出,并且 react native 也记录:

Running application "XXXXX" with appParams: {"rootTag":1,"initialProps":{}}. DEV === true, development-level warning are ON, performance optimizations are OFF

因此,当我尝试从开发人员那里重新加载时,它确实会重新加载,但会显示消息

Loading from pre-bundled file

我已尝试删除应用程序、验证调试方案、清理构建、构建并再次运行,但没有任何不同的结果。

有没有人知道是什么原因造成的(我之前一直在使用 Release Scheme 运行该应用程序,但从未遇到过这个问题),以及如何恢复“正常”状态?

不幸的是,我不知道如何重现这一点。

  • Xcode:8.2.1
  • React-native:0.40.0

感谢您的宝贵时间!

已解决

就我而言,就像@while1 指出的关于 wifi 的情况一样。我的设备和计算机未连接到同一个 wifi。然而,我在我的工作地点发现了一个网络,但它仍然无法工作,即使计算机和设备都连接到该网络(可能以某种方式受到保护?)。无论如何,当我从我的 iPhone 共享我的互联网连接到我的电脑时,该应用程序最终从我的电脑加载了数据。所以确实是 iPhone 无法连接到我的电脑,因此加载了一个预先捆绑的文件。

最佳答案

在 React Native 0.40.0 中,React Native 尝试自行猜测包位置。请查看以下几点是否有帮助:

  • 确保你的 AppDelegate.m 有这一行:jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios"fallbackResource:nil];

  • 检查您的设备,您的 Xcode mac 正在同一 wifi 上运行。 IOS内部,react native尝试自己猜ip。

  • 尝试先通过命令行运行应用程序,以便开发打包服务器运行,然后通过设备中的 xcode 运行应用程序。

关于ios - React Native 使用设备上的预捆绑文件,即使是 DEV 模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41713678/

相关文章:

android - LaunchPackager.command”无法打开,因为(null)不允许在终端: React Native Mac OS中打开文档

reactjs - React Native Animated 来缩放图像

android - react native 运行-android问题

ios - 禁用 tableview 的滚动然后 textView 成为第一响应者

iphone - 调整多个 UILabel 的位置

ios - 重命名项目后找不到共享内部框架

swift - 使用 Swift 4.0 编译的模块无法在框架二进制文件的 Swift 3.1 中导入

ios - testflight 库没有变化,Xcode 5 现在说 "ld: library not found for -lTestFlight"

ios - 尝试在 Flutter 中设置背景图像时出现 MediaQuery.of() 错误

iphone - Apple Mach-O 链接器错误 (2)