React Native 应用程序在 iOS TestFlight 上立即崩溃

Posted

技术标签:

【中文标题】React Native 应用程序在 iOS TestFlight 上立即崩溃【英文标题】:React Native app crashes immediately on iOS TestFlight 【发布时间】:2018-05-08 04:17:39 【问题描述】:

我讨厌问这种开放式的问题,但我是在连续 4 天的试验、错误和纯粹的绝望之后提出的。

我的问题是:

为 TestFlight 捆绑 React Native 应用程序是否有任何不明显的“陷阱”?因为我的应用程序在启动时崩溃,但仅在 TestFlight 中。崩溃报告仅显示 RCTFatal(下面的屏幕截图)。

我的 RN (0.54) 构建包括用于我的 JS 包的 CodePush,我在归档时使用发布方案/生产证书方案,遵循 CodePush/React Native 的所有指示。该应用程序有效,但打包时无效。有什么想法,或者最好的猜测可能是什么情况?

更新:

当我在模拟器上运行我的发布方案时出现错误:

更新(2): 对话已移至聊天:https://chat.***.com/rooms/170610/discussion-on-question-by-user1791914-react-native-app-crashes-immediately-on-io

更新(3): 这个问题仍然是相关的,但我已经打开了一个单独的问题作为调试显示更多信息:React Native bundle error for Release, Babel not working?

React Native / Babel 没有正确编译扩展运算符,所以这是一个需要排序的配置问题。

Unhandled JS Exception: Unexpected token '...'.

这是 Babel 传播运算符错误吗?

【问题讨论】:

【参考方案1】:

所以这毕竟是一个语法/js 问题,与我的构建无关。我有一个

的实例
...props.children which should have been props.children

在我的一个 jsx 文件中。这会导致应用程序在某些情况下崩溃而在其他情况下不会导致真正不一致的结果。这也让我陷入了一场恶作剧,试图重新配置 babel 和我的发布版本,因为 Debug 版本正在默默地处理错误。

【讨论】:

请问,您是如何得出错误的?我有同样的问题,不知道如何追踪它。提前致谢 @leeCoder 追踪对我来说真的很难。我不知道是否有一种简单的方法可以做到这一点,但我设置了一个 test-app.js 文件,将应用程序设置为从那里运行并一次导入一个文件,直到我可以查明哪个文件( s) 引起了问题。我并不是说这是最好的方法,但它有帮助。

以上是关于React Native 应用程序在 iOS TestFlight 上立即崩溃的主要内容,如果未能解决你的问题,请参考以下文章

使用 lottie-react-native (2.6.1) 时,React native expo 应用程序在 android 上崩溃,但适用于 ios

React-native:如何从 Windows 构建 ios

React Native:borderBottom 不显示在空视图中

如何在 react-native 中重置 IOS 文件夹

React-Native-Camera 不能在 IOS 上工作但在 Android 上工作,IOS 应用程序崩溃

React Native 应用在 IOS 13 版本设备中崩溃