我有一个应用程序,目前使用名为MyFramework的自定义Cocoa Touch Framework。在其中我依赖于Core Data,我用它来缓存SQLite存储中的数据。
在测试期间,一切都按预期工作,但现在我已经将应用程序分享给越来越多的用户,我得到以下致命异常:
Fatal Exception: NSInternalInconsistencyException
0 CoreFoundation 0x1848651b8 __exceptionPreprocess
1 libobjc.A.dylib 0x18329c55c objc_exception_throw
2 CoreData 0x186c49260 -[NSPersistentStoreCoordinator _coordinator_you_never_successfully_opened_the_database_corrupted:]
3 CoreData 0x186c494b8 -[NSPersistentStoreCoordinator _introspectLastErrorAndThrow]
4 CoreData 0x186c49840 __65-[NSPersistentStoreCoordinator executeRequest:withContext:error:]_block_invoke
5 CoreData 0x186c42bf0 -[NSPersistentStoreCoordinator _routeHeavyweightBlock:]
6 CoreData 0x186b67f20 -[NSPersistentStoreCoordinator executeRequest:withContext:error:]
7 CoreData 0x186b67f4c -[NSPersistentStoreCoordinator executeRequest:withContext:error:]
8 CoreData 0x186b895ac -[NSManagedObjectContext save:]
9 MyFramework 0x1016608a4 (Missing)
10 CoreData 0x186c0de98 developerSubmittedBlockToNSManagedObjectContextPerform
11 libdispatch.dylib 0x1836ee1bc _dispatch_client_callout
12 libdispatch.dylib 0x1836fc3dc _dispatch_queue_serial_drain
13 libdispatch.dylib 0x1836f19a4 _dispatch_queue_invoke
14 libdispatch.dylib 0x1836fe34c _dispatch_root_queue_drain
15 libdispatch.dylib 0x1836fe0ac _dispatch_worker_thread3
16 libsystem_pthread.dylib 0x1838f72a0 _pthread_wqthread
17 libsystem_pthread.dylib 0x1838f6d8c start_wqthread
我可以说问题出在NSPersistentStoreCoordinator上,而且数据库有些损坏了。但是,我搜索了网络,只能找到有关其他NSPersistentStoreCoordinator问题的信息,没有任何相关内容。
有没有人遇到过这个问题,即使你还没有,有没有人知道如何修复或阻止它?
提前致谢!
修改
我在评论中看到了@LoVo提到的问题,但是我不确定" device_locked"错误与" database_corrupted"。
的错误相关