【问题标题】:react native ios application crash if remote debug is not enabled如果未启用远程调试,则反应本机 ios 应用程序崩溃
【发布时间】:2017-08-03 06:27:30
【问题描述】:

使用 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 和几个其他视图的屏幕,应用程序就会崩溃。

奇怪的是,如果我启用远程调试 Js,它会正常工作,甚至不会记录任何错误。

【问题讨论】:

  • 我建议删除 node_modules && npm install。
  • 刚刚做了,还删除了 /ios/build 以清理存在同样的问题。但是这些错误是什么意思?

标签: ios react-native


【解决方案1】:

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

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

【讨论】:

  • 哇——这解决了我的问题!花了我几天和几个小时的尝试,最后,我在这里找到了解决方案!这绝对应该进入 React Native 调试文档。谢谢你张贴这个! :)
猜你喜欢
  • 1970-01-01
  • 2022-10-18
  • 2022-12-12
  • 2022-10-24
  • 1970-01-01
  • 2020-04-25
  • 1970-01-01
  • 2019-04-15
  • 2018-05-05
相关资源
最近更新 更多