我有一个应用在iOS上运行得很好,但是在使用催化剂运行时,如果我在macOS上滑动到另一个虚拟桌面,然后再返回,大约10次,它就会间歇性地让我崩溃。这主要发生在UICollectionViewController上。
这就是回溯。
(lldb) bt
* thread #5, queue = 'com.apple.xpc.activity.com.apple.cloudkit.scheduler.com.apple.coredata.cloudkit.activity.export', stop reason = EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)
* frame #0: 0x00007fff68c373ae libxpc.dylib`___xpc_activity_dispatch_block_invoke.107.cold.3 + 19
frame #1: 0x00007fff68c1ecdb libxpc.dylib`___xpc_activity_dispatch_block_invoke.107 + 746
frame #2: 0x00000001010377b3 libdispatch.dylib`_dispatch_call_block_and_release + 12
frame #3: 0x000000010103878f libdispatch.dylib`_dispatch_client_callout + 8
frame #4: 0x000000010103fd31 libdispatch.dylib`_dispatch_lane_serial_drain + 777
frame #5: 0x0000000101040ae8 libdispatch.dylib`_dispatch_lane_invoke + 438
frame #6: 0x000000010104df2e libdispatch.dylib`_dispatch_workloop_worker_thread + 681
frame #7: 0x00000001010c4053 libsystem_pthread.dylib`_pthread_wqthread + 290
frame #8: 0x00000001010c3eb3 libsystem_pthread.dylib`start_wqthread + 15
(lldb)
我试过查看代码,添加打印语句,添加断点,注释某些部分等等,试图找出我的代码中哪一部分导致了这种情况,但目前失败了。
我使用的是iOS13的NSPersistentCloudKitContainer。堆栈跟踪是否指向了里面的bug?
我浪费了这么多时间去了解问题的根源,希望这个答案能帮助到很多人。
这个问题现在好像持续了很久,一直没有解决,也没有明白。但我在评论中看到的大提示。 这种崩溃只发生在应用程序从Xcode内部运行时。
另一个重要提示:你可以可以直接从Finder运行你的构建产品而不崩溃。即使它是一个 "Debug "构建。
基于此,我得出的结论是,问题与Debug执行环境有关,我找到了解决方案。禁用 "Debug XPC服务 "这个程序。 这个选项所使用的调试代码中一定有一些错误。
你可以在你的目标方案中找到这个选项。
希望对大家有所帮助!