带有 NSPersistentCloudKitContainer 崩溃的 Mac 催化剂:EXC_BAD_INSTRUCTION(代码=EXC_I386_INVOP,子代码=0x0)

Posted

技术标签:

【中文标题】带有 NSPersistentCloudKitContainer 崩溃的 Mac 催化剂:EXC_BAD_INSTRUCTION(代码=EXC_I386_INVOP,子代码=0x0)【英文标题】:Mac catalyst with NSPersistentCloudKitContainer crash: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0) 【发布时间】:2020-01-17 22:19:01 【问题描述】:

我的应用程序使用 NSPersistentCloudKitContainer,它在 iPhone 和 iPad 上运行良好。一旦我将它移植到 Mac (Catalyst) 上,我就开始遇到 EXC BAD INSTRUCTION 崩溃,我无法绕过它。

我决定使用 Catalyst 从 WWDC 2019 移植到 MacOS Apple 的 NSPersistentCloudKitContainer 演示项目,但我遇到了同样的崩溃。

我还尝试启动一个新的简单项目,我使用 Catalyst 将其移植到 MacOS,但它没有崩溃。所以,我的猜测是这个问题与新的 NSPersistentCloudKitContainer..

有人遇到同样的崩溃吗?任何指导将不胜感激。

这是崩溃日志:

libxpc.dylib`___xpc_activity_dispatch_block_invoke.107.cold.3:
    0x7fff63df530b <+0>:  pushq  %rbp
    0x7fff63df530c <+1>:  movq   %rsp, %rbp
    0x7fff63df530f <+4>:  xorl   %edi, %edi
    0x7fff63df5311 <+6>:  callq  0x7fff63df53c0            ; symbol stub for: _os_assert_log
    0x7fff63df5316 <+11>: movq   %rax, %rdi
    0x7fff63df5319 <+14>: callq  0x7fff63df53d2            ; symbol stub for: _os_crash
->  0x7fff63df531e <+19>: ud2    

【问题讨论】:

当我在没有 Xcode 的情况下运行我的应用程序时,我没有看到崩溃。所以它在某种程度上与在 Xcode 中运行我的应用程序有关。 我现在也有同样的问题。你怎么修好它的?我认为这与NSPersistentCloudKitContainer 有关,因为当我只使用NSPersistentContainer 时它可以工作,但我不知道如何解决这个问题。 我从 Apple 收到了一些关于我认为不准确的问题的反馈:“这意味着 Xcode 中的配置文件和代码签名设置(在签名和功能中)选项卡不正确. 如果您使用的是临时代码签名,请停止,并签名以在本地运行或签名以进行开发。”让我知道这对您是否有意义。我选中了自动管理登录框,所以不确定要配置什么。 【参考方案1】:

我终于得到了 Apple 支持的修复。问题在于撤销了我的钥匙串中的证书。所以,去你的钥匙串,查找你所有的苹果证书。选择它们后,您会注意到它们有效(绿色复选标记)或已撤销(红色圆圈叉)。摆脱所有已撤销的证书,但在执行此操作之前确保它们以其有效形式存在。就我而言,所有被吊销的证书都是有效证书的副本。

【讨论】:

以上是关于带有 NSPersistentCloudKitContainer 崩溃的 Mac 催化剂:EXC_BAD_INSTRUCTION(代码=EXC_I386_INVOP,子代码=0x0)的主要内容,如果未能解决你的问题,请参考以下文章

使用带有 uuencode 的“sendmail”发送邮件,并带有主题

带有和不带有聚合的 sql 查询

如何翻转正面带有标签而背面带有另一个标签的视图 - 参见图片

CakePHP 如何处理带有/不带有 'id' 字段的 HABTM 表?

带有滚动的 Div 和带有绝对位置的内容

带有 RecyclerView 的 DialogFragment 比带有 Recyclerview 的 Fragment 慢