只有在发布模式

时间:2017-10-15 21:07:21

标签: react-native

我在RN中构建此应用程序,升级到0.49后,只有在"发布"模式。它在启动后立即崩溃。我花了一些时间来追踪崩溃点,因为我的崩溃记者(bugsnag)甚至没有触发。

我将xcode中的方案设置为" release"我终于能够用系留设备重现崩溃了。

输出结果为:

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

我怀疑它是由捆绑者造成的......可能是巴别或别的东西。我已经跟踪了对" * .propTypes.style"的任何引用。并评论出来,认为它是那些,但这并没有改变结果。它仍然崩溃。

我们非常感谢任何建议。谢谢!

5 个答案:

答案 0 :(得分:3)

我也遇到了这个问题。问题最终是我使用的一些组件仍在使用:

View.PropTypes.style

不幸的是,在相应的软件包更新之前,必须恢复为react-native 48.4。

在我的情况下,它是react-native-facebook-login。

尝试使用上述方法搜索节点模块以查找特定组件,并通知开发人员需要更新以与0.49.x兼容

答案 1 :(得分:3)

尝试

1)以调试模式运行您的应用

2)取消选中开发设置中的“JS开发模式”

3)重新加载应用

您将看到与propTypes相关的一些错误。

我有类似的问题。通过禁用JS开发模式,我发现我的软件包正在使用View.PropTypes.style

在另一个类似的问题中,它来自结构碰撞。我改变了它的版本并解决了问题。

答案 2 :(得分:0)

尝试使用模拟器中的adb log检查日志中断的位置

答案 3 :(得分:0)

调试模式下是否有红屏?

从您的日志中,我可以看到两个问题:

  • 您使用第三方模块... View.propTypes。它不会在调试模式下崩溃,但在启动期间会显示红屏
  • 您使用的模块名称不正确。你能分享一下你的切入点吗?

答案 4 :(得分:0)

最近的反应中不推荐使用View.proptypes   native.use ViewPropTypes而不是View.proptypes。

import {ViewPropTypes } from 'react-native';
  styles: PropTypes.shape({
    view: ViewPropTypes.style,
    })