如果未启用远程调试,则会响应本机ios应用程序崩溃

Zal*_*oza 5 ios react-native

使用react-native.如果我关闭"远程调试js"应用程序崩溃和系统记录我无法理解的错误.

我在ios模拟器中打开系统日志,然后记录下面的日志

ivf[95067]: [] nw_connection_get_connected_socket_block_invoke 44 Connection has no connected handler
com.apple.CoreSimulator.SimDevice.73F03ED5-12AF-41DD-9108-349E09982B56.launchd_sim[76806] (UIKitApplication:com.simplein.ivf[0x8918][76828][95067]): Service exited due to Segmentation fault: 11
SpringBoard[76823]: UNSUserNotificationServerConnectionListener connection invalidated
 backboardd[76824]: [Common] Unable to get short BSD proc info for 95067: No such process
backboardd[76824]: [Common] Unable to get proc info for 95067: Undefined error: 0
SpringBoard[76823]: [KeyboardArbiter] HW kbd: Failed to set (null) as keyboard focus
assertiond[76828]: Deleted job with label: UIKitApplication:com.simplein.ivf[0x8918][76828]
Run Code Online (Sandbox Code Playgroud)

我对ios开发没有任何线索,但是一旦我尝试渲染具有InputText和少数其他视图的屏幕,应用程序就会崩溃.

奇怪的是,如果我启用Debug Js Remotely它将工作得很好,甚至不会记录任何错误.

Zal*_*oza 15

在这种情况下,问题是console.log正在记录一个巨大的对象,由于某种原因,在调试模式下运行时这很好,因为调试中的react-native使用v8甚至在ios上,而在手机上它将使用不同的引擎.

因此看来,建议不要记录具有多重继承的巨大对象(我记录了一个嵌套组件,其中包含道具,导航,redux存储等所有附加)在生产中很重要.不要在代码中保留console.log以避免此类崩溃.