构建发布 React Native 时,应用程序 iOS 卡在空白屏幕上

App iOS stuck on blank white screen when build release React Native

我正在像本教程一样使用 React Native 设置一个新项目:https://facebook.github.io/react-native/docs/getting-started.html 并构建 iOS 版本,但它不起作用,LaunchScreen 后显示空白屏幕 运行.

如果在 Debug(react-native 运行-ios) 中构建应用程序可以工作,但在 Release[ 中不工作=32=](通过 Xcode 或终端构建发布)。

react-native v0.53.0

react-native-cli v2.0.1

节点 v8.10.0

Xcode 9.2

日志显示在Xcode:

2018-02-06 15:55:14.464233+0700 MyApp[306:35863] [Accessibility] ****************** Loading GAX Client Bundle **************** 2561-02-06 15:55:14.697 [error][tid:main][RCTCxxBridge.mm:423] Failed to load bundle(file:///var/containers/Bundle/Application/4FAF82CD-9EA4-4E73-800A-A2ABC9313405/MyApp.app/main.jsbundle) with error:(Error reading bundle /var/containers/Bundle/Application/4FAF82CD-9EA4-4E73-800A-A2ABC9313405/MyApp.app/main.jsbundle (null)) 2018-02-06 15:55:14.706782+0700 Shiip[306:35863] Failed to load bundle(file:///var/containers/Bundle/Application/4FAF82CD-9EA4-4E73-800A-A2ABC9313405/MyApp.app/main.jsbundle) with error:(Error reading bundle /var/containers/Bundle/Application/4FAF82CD-9EA4-4E73-800A-A2ABC9313405/MyApp.app/main.jsbundle (null))

发生这种情况的原因是调试模式在 chrome javascript 引擎上运行,而发布模式在设备 javascript 引擎上运行。某些 javascript 适用于 chrome 的功能不适用于移动设备使用的引擎。请查看 mdn 以获取更多信息肯定是您正在使用的某些 js 函数未定义并导致白屏。

我使用了很多节点版本,所以 Xcode 没有使用我在终端中使用的节点版本,这让我的应用程序构建崩溃了。让我们这样做来解决我的问题

打开 Xcode 中的脚本构建阶段:

现在,完全使用节点版本路径(使用命令:which node 获取您的节点版本路径)

我的问题解决了