Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 如何在macOS应用程序上调试核心数据Cloudkit崩溃_Swift_Macos_Core Data_Cloudkit_Nspersistentcloudkitcontainer - Fatal编程技术网

Swift 如何在macOS应用程序上调试核心数据Cloudkit崩溃

Swift 如何在macOS应用程序上调试核心数据Cloudkit崩溃,swift,macos,core-data,cloudkit,nspersistentcloudkitcontainer,Swift,Macos,Core Data,Cloudkit,Nspersistentcloudkitcontainer,我有一个核心数据iOS应用程序,它使用Cloudkit,使用NSPersistentCloudkitContainer-iOS 13以后的版本。我已经在iPad和iPhone上进行了测试,同步效果很好。 我现在尝试使用相同的Cloudkit容器(仍在开发)将Cloudkit添加到类似的Mac应用程序中。这同样适用于同步,但在iPad上添加/删除实体通常会导致Mac崩溃,如下所示: **libxpc.dylib`\uuuuuuxpc\uActivity\uDispatch\uBlock\uInvo

我有一个核心数据iOS应用程序,它使用Cloudkit,使用NSPersistentCloudkitContainer-iOS 13以后的版本。我已经在iPad和iPhone上进行了测试,同步效果很好。 我现在尝试使用相同的Cloudkit容器(仍在开发)将Cloudkit添加到类似的Mac应用程序中。这同样适用于同步,但在iPad上添加/删除实体通常会导致Mac崩溃,如下所示:

**libxpc.dylib`\uuuuuuxpc\uActivity\uDispatch\uBlock\uInvoke.109.cold.3:

0x7fff70a14423 <+0>:  pushq  %rbp
0x7fff70a14424 <+1>:  movq   %rsp, %rbp
0x7fff70a14427 <+4>:  xorl   %edi, %edi
0x7fff70a14429 <+6>:  callq  0x7fff70a144d8            ; symbol stub for: _os_assert_log
0x7fff70a1442e <+11>: movq   %rax, %rdi
0x7fff70a14431 <+14>: callq  0x7fff70a144ea            ; symbol stub for: _os_crash
0x7fff70a14423:pushq%rbp
0x7fff70a14424:movq%rsp%rbp
0x7fff70a14427:xorl%edi,%edi
0x7fff70a14429:callq 0x7fff70a144d8;符号存根:\操作系统\断言\日志
0x7fff70a1442e:movq%rax%rdi
0x7fff70a14431:callq 0x7fff70a144ea;符号存根:\操作系统\崩溃
->0x7fff70a14436:ud2**

调用堆栈显示:

我正在使用NSFetchedResultsControllerDelegate,在didChange函数中进行一些调试。有时我会在崩溃之前看到一个问题,比如它说它将在第6行插入一个对象,而表本身只有4行。我并不总是收到这样的信息

在FetchedResultsControllerDelegate didChange中,我将调试放在开关的.delete部分。我看到过这样的情况:当表中只有7个项目时,它试图删除第8项。我不让它这样做,但我最终没有删除我想要的项目。 看起来CloudKit变更请求的顺序可能是“错误的”


有人能建议我如何调试这个吗?谢谢。

这个问题似乎与此相关->我创建了一个示例项目,并将其作为反馈发送给苹果