【问题标题】:App crashes even before launch. How can I debug this? [closed]应用程序甚至在启动之前就崩溃了。我该如何调试呢? [关闭]
【发布时间】:2022-01-11 16:48:52
【问题描述】:

我有一个应用,一些用户报告说他们的应用在发布时崩溃了。但我没有看到崩溃报告,在 Crashlytics 上没有,在 Xcode 上也没有。可能是因为应用在调用 applicationDidFinishLaunching 之前就崩溃了。

你可以找到我从用户那里得到的video recording here。 iOS版本:14.2.1

我该如何调试呢?可能是什么问题?任何想法都可以提供帮助。

提前致谢。

【问题讨论】:

  • 如果你的应用有少量代码,我会开始一个新的,并在你的新应用中一步一步地复制你旧应用的内容,直到问题出现。这样你就可以弄清楚起源了。
  • 您的应用程序是如何分发的?通过 XCode?通过TestFlight(似乎不是这样,因为没有黄点)?你什么时候部署的?它可能不再有效。 XCode ad-hoc 部署的应用程序可能有一周的预期寿命......
  • 您可以向用户询问他们的日志。
  • 问题解决了。它与应用程序无关。显然,iOS 14.2 上的某些设备存在错误。即使您不导入 AdServices 框架,它也会导致崩溃。您可以在这里找到解决方案:developer.apple.com/forums/thread/673708

标签: ios swift xcode debugging crash


【解决方案1】:

为了在分析系统(如 Crashlytics 或 Sentry)中查看崩溃报告,您的用户需要在崩溃后重新启动应用并使其保持打开状态至少约 20 秒。崩溃报告每隔一段时间会以一批数据的形式发送到分析系统,而且永远不会在崩溃的那一刻发生。这就是为什么您不会在那里看到崩溃报告的原因——它们永远不会被发送。

至于可能的原因,如果您无法在自己的设备上重现它,这里有一些想法:

  1. 如果遇到崩溃的用户刚刚更新您的应用到更高版本并且如果您使用 CoreData 或 Realm 并且最近升级了您的架构,则启动时崩溃可能由于数据库迁移不存在或不正确而发生。

  2. 或者,如果您的代码尝试访问某些在某些 Apple 设备上不可用的硬件功能,则可能会发生崩溃。

【讨论】:

  • 感谢您的回答。问题已经解决了。它与应用程序无关。显然,iOS 14.2 上的某些设备存在错误。即使您不导入 AdServices 框架,它也会导致崩溃。您可以在这里找到解决方案:developer.apple.com/forums/thread/673708
猜你喜欢
  • 2023-03-14
  • 2022-11-18
  • 1970-01-01
  • 1970-01-01
  • 2022-10-14
  • 2021-06-09
  • 2013-01-02
  • 2019-05-31
  • 2020-10-29
相关资源
最近更新 更多