我最近更新到 macOS Catalina,因此我可以使用 Catalyst 更新我的一些应用程序以支持 Mac。每当我运行该应用程序并尝试访问 CloudKit 数据时(我使用 CloudKit 同步核心数据,如果 iCloud 帐户可用,则数据),然后它会因以下错误而崩溃。[User Defaults] Couldn't write values for keys ( ApplicationAccessibilityEnabled ) in CFPrefsPlistSource<0x600002c07700> (Domain: com.apple.Accessibility, User: kCFPreferencesCurrentUser, ByHost: No, Container: (null), Contents Need Refresh: Yes): setting preferences outside an application's container requires user-preference-write or file-write-data sandbox access
我尝试在我的签名和功能中更改应用沙盒设置中的权限和访问权限,以读取/写入。我还尝试将传入和传出连接更改为打开。
我不确定我应该显示什么代码,所以这里是崩溃的区域。
if isICloudContainerAvailable() {
print("iCloud Available")
let container = NSPersistentCloudKitContainer(name: "Shopping_App")
container.loadPersistentStores(completionHandler: {
(storeDescription, error) in
if let error = error as NSError? {
fatalError("Unresolved error \(error), \(error.userInfo)")
}
})
return container
}
我除了创建/获取 CoreData 数据的应用程序,如果可用(在这种情况下)连接到 CloudKit 同步数据。但它现在崩溃了,甚至在它提出任何让我认为它在 AppDeleget 某处崩溃的视图之前。
10 月 14 日更新——我发现如果我强制跳过应用程序崩溃的断点,我可以继续进入应用程序并且它工作正常。这让我认为错误确实在 AppDeleget 中,特别是说 UI 直到我跳过它在崩溃时设置的断点后才会出现。
11 月 4 日更新——所以这个问题变得更加奇怪了。我忘记了我使用的是 Xcode 的 beta 版本,所以好吧,这可能是在我上周意识到这一点之后。我尝试通过公共版本运行该应用程序,该应用程序从未停止过断点,而是完全崩溃Thread 1: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)
。这个错误真的很奇怪。这是我应该向 Apple 报告的错误吗?我想过这样做,但我决定不这样做,因为在我看来,这似乎是我本来可以做的事情,但现在正在重新考虑我是否应该这样做。我希望我能找到这个问题的解决方案,因为我想向公众发布 macOS 版本,但没有找到解决方案的运气。
11 月 8 日更新——在 Xcode 11.2.1 GM 种子中,问题仍然存在。我还没有找到这个问题发生的确切原因,但会继续尝试。我也无法在任何 Xcode 版本上重现 11 月 4 日更新中写入的错误。我还没有找到任何其他东西,但想用有关 GM 种子的信息以及这种情况是否仍然发生来更新它。
11 月 13 日更新——我决定继续将应用程序上传到 Apple 以供批准,因为构建应用程序并独立于 Xcode 运行它工作得很好。Apple 批准了该应用程序,没有对此问题提出任何投诉。这似乎只是一个 Xcode 问题。但是,我将继续更新此内容,如果/当我找到解决方案时,我将发布此问题的解决方案,但没有找到更多解决方法或解决此问题的方法。
11 月 20 日更新——在 Xcode 11.3 Beta Build 11C24b 上,问题仍然存在。没有其他任何改变,我还没有找到其他任何东西来解决这个问题。我将继续保持更新,但还没有发现任何其他内容。
12 月 11 日更新——在 Xcode 11.3 Public 11C29 上,问题仍然存在。但是,现在它并不一致,有时我必须通过断点两次而不是一次才能继续启动应用程序。如果独立于 Xcode 运行,它仍然不会发生。
2020 年 1 月 2 日更新——仍然发生,但现在已验证它发生在真正的 iOS 13 设备上。但是没有找到其他解决方案或步骤。我将继续使用任何其他信息更新这篇文章。
2020 年 2 月 17 日更新——更新不多,但仍在 Xcode 11.4 Beta (11N111s) 上发生。将继续更新这篇文章,但没有太大变化。(也修正了这篇文章的一些错误)
2020 年 3 月 10 日更新——我没有意识到 Xcode beta 11N132i 已发布,但经过测试它仍然存在。然而,尽管它可能仍在发生,但至少不太一致。现在它不是每次都发生并这样做,它似乎有点随机。
2020 年 4 月 18 日更新——抱歉没有更新这篇文章,直到现在我都无法编程。我还没有弄清楚这个问题,但现在似乎并没有真正发生。它现在仍然很少发生。这也在 Xcode 11.4.1 (11E503a) 上,我不知道为什么。我会继续尝试更新这篇文章。谢谢你。如果您有任何建议来尝试找出原因,我愿意听取他们的意见。
2020 年 5 月 14 日更新——Xcode 11.5 Beta 2 (11N605f) 这个问题仍然随机发生,但现在它似乎并不总是包含错误,但仍指向那部分代码。感谢您对这篇文章的支持,当我发现更多关于这个问题的时候,我会继续更新它。
2020 年 6 月 5 日更新——很抱歉没有尽快更新,我完全忘记了我何时更新了 Xcode。在 Xcode 11.5 上,这个问题仍然存在。我也更新到 Catalina 10.15.5 并且几乎没有看到任何变化。但是,就像评论所说的那样,我听说 Catalina 10.15.4 确实对此有所帮助,但 10.15.5 似乎没有改变任何东西,这很奇怪。
2020 年 6 月 27 日、2020 年 7 月 22 日和 2020 年 8 月 10 日更新——我已更新我的项目以支持 Xcode 12,但它似乎仍然存在同样的问题。什么都没有真正改变,日志完全相同。我也欢迎所有愿意继续帮助解决此问题的人。这在 Xcode 12 Beta 2 上也是一样的。对于 beta 3 和 4,excat 相同。
2020 年 9 月 28 日更新——这仍然是 Xcode 12 的 GM 和公共版本的问题。我还没有更新到 Xcode 12.0.1,因为我正在等待 macOS Big Sur,但在这一点上,我怀疑这会解决它。我真的没有任何更新,除此之外它仍在发生,我找不到问题。
2020 年 11 月 3 日更新——这似乎仍然是 Xcode 12.1.1 Release Candidate 上的一个问题。很抱歉这么久没有更新这个,正如我之前所说的,我坚持更新 Xcode,但我决定继续更新。但是,更新到候选版本并没有改变任何东西,或者至少我没有注意到。我确实注意到了一个变化;然而,它似乎更早地显示了这个问题,但这可能只是它编译得更快。总而言之,这个问题没有重大变化,并且在一段时间内也没有真正改变。
更新 2020 年 11 月 16 日
我已经更新到 macOS Big Sur 11.0.1 并将 Xcode 更新到 12.3 beta。在不得不更改一些随机的东西以使其在 Big Sur 上运行后,问题似乎仍然存在。但是,我认为我更改的大多数内容都无关紧要,因为它主要与 UI 元素有关。这可能只是 Big Sur,但它编译得更快,而且错误现在显示得更快;但是它仍然是同样的错误。