我有一个ios应用程序,它没有以这种方式在ios 5上崩溃,现在在4或5 bg / fg周期后在启动时ios 6上始终崩溃.我已经将问题追溯到我对ALAssetsLibrary enumerateGroupsWithTypes的调用(应用程序在启动时同步到底层照片库).对enumerateGroupsWithTypes的调用是在通过调度队列调用的后台线程中进行的,这样即使用户在完成之前将应用程序发送到bg,同步代码也可以完成.我收到的崩溃消息总是一样的:
* __addContextToList_block_invoke_0()中的断言失败,/ SourceCache / PhotoLibraryServices / MobileSlideShow-1647.5 / Sources / PLManagedObjectContext.m:1305
和
*由于未捕获的异常’NSInternalInconsistencyException’而终止应用程序,原因:’太多的上下文. contextList中没有空格.’
谷歌搜索这些错误消息并没有产生任何结果.由于直到应用程序开启/关闭至少5次才会发生这种情况,我认为这些块在完成时可能无法从苹果数据结构中正确删除?提前感谢任何线索.
更新:
经过更多调查后,这似乎与同步ALAssetsGroupLibrary有关.当我只同步ALAssetsGroupSavedPhotos或ALAssetsGroupLibrary中有0张照片时,不会发生崩溃.如果我仅同步ALAssetsGroupLibrary并且其中至少有一张照片,则会发生这种情况.