为了账号安全,请及时绑定邮箱和手机立即绑定

核心数据和iOS 7:持久存储的不同行为

核心数据和iOS 7:持久存储的不同行为

iOS
三国纷争 2019-12-21 11:09:39
我正在为基于Core Data的应用程序准备更新,以修复iOS7。我使用Xcode 5和iOS 7 SDK GM。但是,我意识到持久性存储的另一种行为(是UIManagedDocument):在iOS 7构建之前,persistentStoredocuments文件夹中只有一个文件(有时还有一个persistentStore-journal)。在iOS 7构建(全新安装)中,持久性存储现在有三个文件:persistentStorepersistentStore-wal 和persistentStore-shm苹果现在是否默认将日记模式更改为WAL?我想知道对我的应用程序是否有影响(想想用户如何从最新版本进行更新)?最好禁用WAL-如果是这样,我该如何使用iOS 7 / UIManagedDocument?
查看完整描述

2 回答

?
繁花如伊

TA贡献2012条经验 获得超12个赞

是的,Apple已将iOS7的默认日记模式更改为WAL。您可以通过在调用addPersistentStoreWithType:configuration:url:options:error时将NSSQLitePragmasOption添加到选项中来指定日志模式。例如,设置先前的默认删除方式:


NSDictionary *options = @{ NSSQLitePragmasOption : @{@"journal_mode" : @"DELETE"} };



查看完整回答
反对 回复 2019-12-21
?
RISEBY

TA贡献1856条经验 获得超5个赞

这是推出此功能的可怕方法。Apple应该比自动启用此功能更好。现在要创建数据库备份,用户必须同时拥有两个文件。.在ios7更新后,他们从备份中还原ios设备时,我发现有数百个用户松散数据,只是发现WAL文件丢失,因此所有数据由于移至ios 7的方式已经不复存在...只需将设备升级至ios7即可更改所有应用程序存储数据的方式。谁认为这是一个很好的“默认值” 

查看完整回答
反对 回复 2019-12-21
  • 2 回答
  • 0 关注
  • 504 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信