我在 RN 中构建此应用程序,在升级到 0.49 后,它仅在“发布”模式下才开始崩溃。它在启动后立即崩溃。我什至花了一段时间才追踪到崩溃点,因为我的崩溃报告器 (bugsnag) 甚至没有触发。
我在 xcode 中将方案设置为“释放”,我终于能够使用系留设备重现崩溃。
输出是:
43 JavaScriptCore 0x00000001880011ac _ZN3JSC8evaluateEPNS_9ExecStateERKNS_10SourceCodeENS_7JSValueERN3WTF8NakedPtrINS_9ExceptionEEE + 316
44 JavaScriptCore 0x000000018836a558 JSEvaluateScript +2017-10-15 02:54:24.331 [error][tid:com.facebook.react.JavaScript] undefined is not an object (evaluating 's.View.propTypes.style')
B56
INFO : BSG_KSCrashReport.c (2157): void bsg_kscrashreport_writeStandardReport(BSG_KSCrash_Context *const, const char *const): Writing crash report to /var/mobile/Containers/Data/Application/00FD4F8E-DFF5-4166-982B-0D4AB56048DE/Library/Caches/KSCrashReports/GP/GP-CrashReport-0659B2B2-1DB4-48B9-BDDB-5EC72DE8B201.json
2017-10-15 02:54:24.354 [fatal][tid:com.facebook.react.ExceptionsManagerQueue] Unhandled JS Exception: undefined is not an object (evaluating 's.View.propTypes.style')
2017-10-15 02:54:24.357 [error][tid:com.facebook.react.JavaScript] Module AppRegistry is not a registered callable module (calling runApplication)
INFO : BSG_KSCrashReport.c (2157): void bsg_kscrashreport_writeStandardReport(BSG_KSCrash_Context *const, const char *const): Writing crash report to /var/mobile/Containers/Data/Application/00FD4F8E-DFF5-4166-982B-0D4AB56048DE/Library/Caches/KSCrashReports/GP/GP-CrashReport-9288B937-E697-4571-AE3D-5377FB7EABAE.json
libc++abi.dylib: terminating with uncaught exception of type NSException
我怀疑它是由 bundler 引起的。可能是 Babel 或其他东西。我已经找到对“*.propTypes.style”的所有引用并将它们注释掉,以为是那些,但这并没有改变结果。它仍然崩溃。
如有任何建议,我们将不胜感激。谢谢!
最佳答案
尝试
1) 在 Debug模式下运行您的应用
2) 在 Dev Settings 中取消选中“JS Dev Mode”
3) 重新加载应用
您会看到一些与 propTypes 相关的错误。
我遇到了类似的问题。通过禁用 JS 开发模式,我发现我的包正在使用 View.PropTypes.style
。
在另一个类似的问题中,它来自 fabric crashlytics。我更改了它的版本并解决了问题。
关于react-native - 只有在 Release模式下运行时,React Native 应用才会崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46760003/