我已经开始收到来自Fabric
的大量崩溃报告,用于我的iOS应用程序,该应用程序已经在App Store上分发。从18 Sep
开始报告崩溃,仅适用于iOS 13
。这是崩溃的主线程的崩溃日志。
Crashed: com.apple.main-thread
0 CoreFoundation 0x185180408 OUTLINED_FUNCTION_0 + 4
1 CoreFoundation 0x18525bd68 __CFStringCollectionCopy.cold.1 + 14
2 CoreFoundation 0x18525bd68 __CFStringCollectionCopy.cold.1 + 14
3 CoreFoundation 0x18525bd68 __CFStringCollectionCopy.cold.1 + 14
4 CoreFoundation 0x18525bd68 __CFStringCollectionCopy.cold.1 + 14
5 CoreFoundation 0x18525bd68 __CFStringCollectionCopy.cold.1 + 14
6 CoreFoundation 0x18525bd68 __CFStringCollectionCopy.cold.1 + 14
7 CoreFoundation 0x18525bd68 __CFStringCollectionCopy.cold.1 + 14
8 CoreFoundation 0x18525bd68 __CFStringCollectionCopy.cold.1 + 14
9 CoreFoundation 0x18525bd68 __CFStringCollectionCopy.cold.1 + 14
10 CoreFoundation 0x18525bd68 __CFStringCollectionCopy.cold.1 + 14
有人面临类似的崩溃吗?我怎样才能摆脱这个问题?
我的应用程序也有同样的情况。 将数据保护更改为"完成直到第一次用户身份验证"后,我的应用程序不再崩溃。
作为亚历克斯的解决方案,
似乎dyld3将生成的clojure文件保存在应用程序中 tmp 目录,如果您使用 NSFileProtection,请完成关闭 文件也具有此属性。
要生成一个crahs关闭应用程序,锁定手机,发送推送 将唤醒应用程序,然后生成崩溃。
解决方案似乎很简单,只需更改权限即可 App TMP direcptry toNSFileProtectionCompleteUntilFirstUser身份验证和应用程序将 不是崩溃。我真的不知道苹果为什么要这样做。
这对我有用。
复制与测试
雷恩斯评论
您不一定需要使用推送通知来重现 问题。如果你的应用配置为在 权利,即在受保护数据运行时运行的任何代码 不可用将导致应用程序崩溃。例如,我公司的应用 具有执行时间超过 10 秒的后台任务。 由于受保护的数据在大约 10 秒后变得不可用 锁定设备,应用程序将在后台任务之前崩溃 完成执行(尽管有更多时间在 断言(。