当应用程序在后台时调用addPersistentStoreWithType时,我的sqlite
文件有时曾经不可用,我收到此错误:
[Model createPersistentStoreCoordinatorWithStoreURL:]第387行$ sqlite加密状态NSFileProtectionCompleteUntilFirstUserAuthentication错误:错误Domain = NSCocoaErrorDomain Code = 256"操作无法完成。 (可可错误256。)" UserInfo = 0x1560e540 {NSUnderlyingException =授权被拒绝,NSSQLiteErrorDomain = 23}
我发现这是因为该文件仍然受到保护(默认为NSFileProtectionCompleteUntilFirstUserAuthentication
,因此在用户在重启后第一次解锁设备后,受保护的数据可用。我觉得这样做不正常,因为我有大量的崩溃,我无法想象许多人在野外重启后仍然锁定了他们的设备。
因此我现在正在添加我的持久性商店协调员,调整后的配置就像这样
NSDictionary *options = @{
NSMigratePersistentStoresAutomaticallyOption : @YES,
NSInferMappingModelAutomaticallyOption : @YES,
NSPersistentStoreFileProtectionKey : NSFileProtectionNone
};
NSPersistentStoreFileProtectionKey
?NSFileProtectionNone
时,您是否看到安全问题?答案 0 :(得分:1)