1. 问题描述:

使用沙盒存储文件的时候,我们会保存文件的绝对路劲以便下次读取,但是发现一个现象,我们保存的文件,在第二次打开App去查找的时候,发现找不到了......

  1. 查找原因:

iOS8之后,苹果添加的新特性,将每次打开app内的沙盒[唯一编码路径](红框部分)重新生成,并保持上一次的沙盒文件(Documents、Library、tmp)移到新生成的文件内,旧文件删除,就是说,你保存的文件都在,只不过每次打开后,都会有一个新的绝对路径。

  1. 解决方法:

为了以后存取文件,应该避免存储绝对路径,通过分析原因我们很容易找到解决方案,即:保证每次使用类似 NSSearchPathForDirectoriesInDomains 方法去获取Documents文件路径,因为这样获取到到沙盒文件总是你一直使用的那个,里面的文件内容都会一直存在。

NSString *path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];

NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];

最新文章

  1. Neo4j 查询已经创建的索引与约束
  2. [译]git config
  3. Linux_08------Linux的系统管理
  4. Linux常用指令---tail | head(查看文件)
  5. python study - 正则表达式
  6. c++的历史-异常
  7. 微软推出首个Microsoft Azure Stack技术预览版
  8. [译]Autoprefixer:用最可行的方式处理浏览器前缀的CSS后处理器
  9. Gmail POP3设定
  10. java 线程的中断
  11. .Net多线程编程—使用Visual Studio 2012进行调试
  12. Servlet3.1上传图片示例
  13. Web前端性能优化——如何有效提升静态文件的加载速度
  14. [转载] 解读ClassLoader
  15. HashMap实现分析
  16. 0428css样式
  17. 3、js无缝滚动轮播
  18. C#中的?和??,null和Nullable
  19. (记忆化搜索 )The Triangle--hdu --1163
  20. 在ASP.NET Core中,静态类如何读取配置文件

热门文章

  1. 【应用服务 App Service】App Service中上传文件/图片(> 2M)后就出现500错误(Maximum request length exceeded).
  2. 专题一:why redis ?
  3. Visual Studio 2017 创建Winfrom工程
  4. 【新阁教育】S7.NET+Log4Net+SQLSugar+MySQL搭建Iot平台
  5. Day13 CSS样式
  6. python爬虫爬取策略
  7. "!"的应用(以C++为例)
  8. Round 4
  9. 18 socket
  10. 利用命令行将本地代码上传至GitHub仓库