CoreData + iCloud 支持的 App 在启动时偶尔会出现被系统强制退出的情况,用 Xcode 也无法中断调试这种崩溃,查看真机上的崩溃日志如下:
如上图所示,我可以了解到 App 崩溃的原因是由于启动超时被系统看门狗(watchdog)强行关闭了:
process-launch watchdog transgression: application
:804 exhausted real (wall clock) time allowance of 20.00 seconds
在本篇博文中,您将学到以下内容:
我们还可以从堆栈遗迹中看到:导致超时的元凶是 NSPersistentCloudKitContainer 对象构造器。其实还有很多其它情况也会导致 App 被看门狗终止,这到底是怎么一回事呢?