关于iOS路径变化的解决方案
2024-10-16 06:58:34
- 问题描述:
使用沙盒存储文件的时候,我们会保存文件的绝对路劲以便下次读取,但是发现一个现象,我们保存的文件,在第二次打开App去查找的时候,发现找不到了......
- 查找原因:
iOS8之后,苹果添加的新特性,将每次打开app内的沙盒[唯一编码路径](红框部分)重新生成,并保持上一次的沙盒文件(Documents、Library、tmp)移到新生成的文件内,旧文件删除,就是说,你保存的文件都在,只不过每次打开后,都会有一个新的绝对路径。
- 解决方法:
为了以后存取文件,应该避免存储绝对路径,通过分析原因我们很容易找到解决方案,即:保证每次使用类似 NSSearchPathForDirectoriesInDomains 方法去获取Documents文件路径,因为这样获取到到沙盒文件总是你一直使用的那个,里面的文件内容都会一直存在。
NSString *path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];
NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
最新文章
- Neo4j 查询已经创建的索引与约束
- [译]git config
- Linux_08------Linux的系统管理
- Linux常用指令---tail | head(查看文件)
- python study - 正则表达式
- c++的历史-异常
- 微软推出首个Microsoft Azure Stack技术预览版
- [译]Autoprefixer:用最可行的方式处理浏览器前缀的CSS后处理器
- Gmail POP3设定
- java 线程的中断
- .Net多线程编程—使用Visual Studio 2012进行调试
- Servlet3.1上传图片示例
- Web前端性能优化——如何有效提升静态文件的加载速度
- [转载] 解读ClassLoader
- HashMap实现分析
- 0428css样式
- 3、js无缝滚动轮播
- C#中的?和??,null和Nullable
- (记忆化搜索 )The Triangle--hdu --1163
- 在ASP.NET Core中,静态类如何读取配置文件
热门文章
- 【应用服务 App Service】App Service中上传文件/图片(>; 2M)后就出现500错误(Maximum request length exceeded).
- 专题一:why redis ?
- Visual Studio 2017 创建Winfrom工程
- 【新阁教育】S7.NET+Log4Net+SQLSugar+MySQL搭建Iot平台
- Day13 CSS样式
- python爬虫爬取策略
- ";!";的应用(以C++为例)
- Round 4
- 18 socket
- 利用命令行将本地代码上传至GitHub仓库