【问题标题】:Xcode 11.3 throws exception when running app on iOS 13 device, but not on simulatorXcode 11.3 在 iOS 13 设备上运行应用程序时抛出异常,但在模拟器上没有
【发布时间】:2020-04-20 07:23:59
【问题描述】:

升级到 Xcode 11.3 后,我们的应用在 iOS 13.3 设备上运行时会引发异常。异常并非每次都在同一个地方发生,并且日志表明异常来自 com.apple.CoreAnalytics(见下文)。异常只抛出一次。而且,当我在模拟器上运行应用程序时,不会引发异常。提前感谢您的想法和想法!

【问题讨论】:

  • 如果不是在调试器下运行,是否会捕获异常?它会导致某些事情失败吗?
  • 如果我在异常后继续,应用程序运行正常。
  • 而且,如果我在没有调试器的情况下运行它,它会正常运行并且没有任何故障。
  • 这听起来与我所看到的相同或非常相似。我的 XCode 是 11.2.1 并且设备(iPad)正在运行 13.3 我在stackoverflow.com/questions/59549614 报告了我的问题,我被指引到这里。 'com.apple.CoreAnalytics' 的东西也是一样的。

标签: xcode ios13 xcode11


【解决方案1】:

有时 Apple 的框架使用异常作为内部消息传递技术。他们可能不应该这样做,但是这些框架包含许多并不总是遵循最佳实践的旧代码。没有造成任何伤害,因为框架在抛出异常后也会捕获它,这就是如果应用程序在没有调试器的情况下运行时运行良好的原因。但是如果你从 Xcode 运行并且你设置了一个异常断点,你会在 throw 之后但在 catch 之前暂停。看起来这就是正在发生的事情。因此,只需删除该断点即可。

【讨论】:

  • 谢谢马特。这听起来很明智。感谢您创作书籍,我从中得到了很多!
  • 您可能还想将此作为错误报告给 Apple。这似乎是一种新的行为。它可能是与此相同的错误的一部分:stackoverflow.com/questions/59524571/…
猜你喜欢
  • 1970-01-01
  • 2012-04-16
  • 2012-09-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多