
如果使用PIN解锁手机,那么用户可以访问数据库是好的 – 这是他们的数据.
解决方法 查找您执行 databaseWithPath :(或initWithPath :)的行,然后添加:FMDatabase *db = [FMDatabase databaseWithPath:path];NSDictionary *attributes = @{NSfileProtectionKey: NSfileProtectionCompleteUnlessOpen};NSError *error;BOol success = [[NSfileManager defaultManager] setAttributes:attributes ofItemAtPath:path error:&error];if (!success) { NSLog(@"file protection Failed: %@",error);} NSfileProtectionKey密钥的possible Values是:
> NSfileProtectionNone:
该文件没有与之相关的特殊保护.它可以随时读取或写入.
> NSfileProtectionComplete:
该文件以加密格式存储在磁盘上,在设备锁定或引导时无法读取或写入.
> NSfileProtectionCompleteUnlessOpen:
该文件以加密格式存储在磁盘上.可以在设备锁定时创建文件,但一旦关闭,在设备解锁之前无法再次打开.如果在解锁时打开文件,即使用户锁定设备,您也可以继续正常访问该文件.创建和打开文件时会有一个小的性能损失,但不是在写入或读取时.当设备解锁时,可以通过将文件保护更改为NSfileProtectionComplete来缓解此问题.
> NSfileProtectionCompleteUntilFirstUserAuthentication:
该文件以加密格式存储在磁盘上,直到设备启动后才能访问.用户首次解锁设备后,即使用户随后锁定了设备,您的应用也可以访问该文件并继续访问该文件.
正确的保护类型可能取决于iOS的版本(最后两个在iOS 4上不可用)以及在设备锁定时是否使用数据库.
总结以上是内存溢出为你收集整理的ios – FMDB和加密全部内容,希望文章能够帮你解决ios – FMDB和加密所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)