update: 最近吃饭跟童鞋聊到,其实在iOS9之后许多地方权限问题导致错误异常崩溃等,比如相册无权限也可以读数据,缺无法编辑。
最近项目接近尾声,准备提交上线时,测试出老丢用户缓存信息,而抓沙盒目录却发现文件,数据库,序列化对象文件,cache均在,以前真没遇到这种情况,负责这块的哥们自习跟了下数据读写,发现9.3以上设备,在机器锁屏一段时间后,文件系统读写错误,一一排除各种可能之后,最近的iOS9.0后对于安全相关的东西更新比较多。
大概像NSFileManager对象需要给到权限
NSString * path = @"...";
NSFileManager *fm = [NSFileManager defaultManager];
[fm setAttributes:@{NSFileProtectionKey : NSFileProtectionCompleteUntilFirstUserAuthentication} ofItemAtPath:path error:nil];
if (![fm fileExistsAtPath:path]) {
UALog(@"文件不存在");
} else {
if (![fm isReadableFileAtPath:path]) {
UALog(@"文件不可读");
}
}
复制代码
沙盒文件读写错误的童鞋可以从这个角度看看问题,感谢。 有问题,直接可以给我留言。