使用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]
我对ios开发没有任何线索,但是一旦我尝试渲染具有InputText和少数其他视图的屏幕,应用程序就会崩溃。
奇怪的是,如果我启用Debug Js Remotely它会正常工作,甚至不会记录任何错误。
答案 0 :(得分:9)
在这种情况下,问题是console.log正在记录一个巨大的对象,由于某些原因,在调试模式下运行时这很好,导致反应中的react-native使用v8甚至在ios上,而在手机上它会使用不同的发动机。
因此看来,建议不要记录具有多重继承的巨大对象(我记录了一个嵌套组件,其中包含道具,导航,redux存储等所有附加)在生产中很重要。不要将您的console.log留在代码中以避免此类崩溃。