NSKeyedArchiver本地存储失败?

来源:互联网 发布:游戏键盘 知乎 编辑:程序博客网 时间:2024/06/05 10:07

使用NSKeyedArchiver做本地存储,模拟器上成功,真机写入失败?

        NSString *homeDictionary = NSHomeDirectory();        _filePath  = [homeDictionary stringByAppendingPathComponent:@"history.archiver"];        BOOL flag = [NSKeyedArchiver archiveRootObject:mutArr toFile:self.filePath];

在模拟器上没有问题,然而在真机上运行的时候写入会失败?

原因是真机下这样构建目录下的文件没有写入数据的权限,所以导致失败,解决办法之一就是修改权限,让其可写。


但是通常我们通过下面这种方式去处理,换一种获取目录的方式,然后构建一个自己的文件。

        NSString *path = [NSSearchPathForDirectoriesInDomains(9, 1, 1) firstObject];        _filePath = [path stringByAppendingPathComponent:@"history.archiver"];

观察可以发现,两种方式构建的目录还是有差别的  ../history.archiver      ../Documents/history.archiver   


0 0
原创粉丝点击