iOS 13 - 崩溃:com.apple.main-thread EXC_BREAKPOINT (CoreFoundation)

6

我开始收到来自Fabric的大量崩溃报告,这是我的iOS应用程序已经在App Store上分发的。崩溃报告始于9月18日,仅针对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

有人遇到过类似的崩溃问题吗?我该如何解决这个问题?


iOS 13自9月19日以来就没有处于测试版状态。 - rmaddy
@rmaddy 感谢提供的信息。我正在更新问题。 - Sazzad Hissain Khan
@rmaddy,我需要做什么还是只需要等待苹果修复,因为崩溃是在CoreFoundation中? - Sazzad Hissain Khan
@CZ54 你有什么想法吗?这个崩溃已经让我的无崩溃用户下降了30%。我在 Fabric 中看到,在 Apple 的最新更新 13.1.1 中,崩溃甚至增加了很多。:( - Sazzad Hissain Khan
@SazzadHissainKhan 很棒,这对我们来说是个好消息,谢谢! - JP Illanes
显示剩余4条评论
2个回答

0

我的应用程序也有同样的情况。 当我将数据保护更改为“完全直到第一个用户身份验证”时,我的应用程序不再崩溃。


请问您能否解释一下您是如何更改“直到第一个用户认证完成”的状态的? - Sazzad Hissain Khan
请参考以下链接:https://developer.apple.com/documentation/bundleresources/entitlements 和 https://help.apple.com/xcode/mac/current/#/dev88ff319e7,如果您通过 XCode 进行所有管理。 - Lubricin
如果问题相关,我在这里发布了一个帖子 https://dev59.com/MLbna4cB1Zd3GeqPfLBE ,其中还有一些链接到苹果开发者论坛。 - Lubricin

0

根据Alex的解决方案

dyld3似乎将生成的clojure文件保存在应用程序tmp目录中,如果您使用NSFileProtectionComplete,则闭包文件也具有此属性。

要生成崩溃,请关闭应用程序,锁定手机,发送推送以唤醒应用程序,然后生成崩溃。

解决方案似乎很简单,只需更改应用程序tmp目录的权限为NSFileProtectionCompleteUntilFirstUserAuthentication,应用程序就不会崩溃。我真的不知道苹果为什么这样做。

这对我有用。

复制和测试

Rayns的评论

您不一定需要使用推送通知来重现此问题。如果您的应用程序在授权中配置为使用完整文件保护,则在受保护数据不可用时运行的任何代码都会导致应用程序崩溃。例如,我的公司的应用程序有一个后台任务,需要执行超过10秒钟的时间。由于在锁定设备后约10秒钟后受保护的数据变得不可用,因此该应用程序将在后台任务完成执行之前崩溃(尽管断言还有更多时间可用)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接