美文网首页iosiOS数据持久化学习一下
iOS 8 之后的动态沙盒路径

iOS 8 之后的动态沙盒路径

作者: 英贰与我 | 来源:发表于2015-05-22 00:14 被阅读2429次

在iOS8之前,我们获取到沙盒中的document、cache、tmp之后,下一次模拟器或真机无论重启多少次,这具体的路径是固定的,可是iOS8 之后,你要是在按原来的路径去找你想要的东西,我想它会把你坑的很惨.下面我就来说说自己的此次爬坑总结;

1>//获取沙盒路径

NSArray*path =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);

NSString*documentPath = [pathlastObject];

//Users/ZZ_running/Library/Developer/CoreSimulator/Devices/B9F35720-6386-445A-A0DA-0D911BFA64C3/data/Containers/Data/Application/176DA32A-E007-42F5-8716-3BBD80FFAB4F/Library/Documents;

2>在iOS8之后,苹果可能考虑到安全因素,应用每一次重启,沙盒路径都动态的发生了变化。

iOS8中第一次启动时的路径:

///Users/ZZ_running//Library/Developer/CoreSimulator/Devices/B9F35720-6386-445A-A0DA-0D911BFA64C3/data/Containers/Data/Application/D73211C2-497C-4C92-828C-584955C23BCB/Library/Documents

iOS8中第二次启动时的路径:

///Users/ZZ_running//Library/Developer/CoreSimulator/Devices/B9F35720-6386-445A-A0DA-0D911BFA64C3/data/Containers/Data/Application/2B080462-8330-440E-AC26-B9B15E065110/Library/Documents

从下划线的部分可以明显看出,两次运行得到的沙盒路径会发生改变,虽然iOS8之后,沙盒的路径发生了变化,但是并不代表你原来沙盒路径中的数据发生了变化;同时,也并不代表路径会越来越多.你一定有所顾虑了吧,下一次重启后路径变化了,那我们的数据/文件去哪儿呢?

这个问题,你也完全没必要去担心,苹果是不会坑你的,他会帮你处理;

1>苹果会把你上一个路径中的数据转移到你新的路径中。

2>你上一个路径也会被苹果毫无保留的删除,只保留最新的路径。

//获取沙盒路径后,你一定要注意,不要把沙盒路径写入你要保存的地方,比如数据库,如果你把documentPath路径写入数据库,这样你会很惨的,只要用每次运行程序后生成的

NSArray*path =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);

NSString*documentPath = [pathlastObject];发生了改变,你数据库里的路径就会消失,你就无法找到你想要的数据,你只需要将你的文件名:比如像a.jpg,你想拿到你存进去的数据,就需要让心生成的documentPath再拼上你自己的文件名比如 你的 a.jpg,这样不管document路径怎么变,你都可以找到你的文件;

对于知道这个的同行来说,这些都是so easy, 但你要是不知道,还是个新手,我的爬坑经验可能会帮助你解决问题!

祝:工作顺利,共同进步

相关文章

  • iOS 8 之后的动态沙盒路径

    在iOS8之前,我们获取到沙盒中的document、cache、tmp之后,下一次模拟器或真机无论重启多少次,这具...

  • iOS 8.0 访问沙盒目录

    iOS8之前访问沙盒的路径,通过NSHomedictionary()获取的家路径 /Users/xxxx/Libr...

  • iOS 数据持久化知识汇总(1)—————存储路径

    一、沙盒和沙盒存储路径 1、沙盒是什么 iOS 每个iOS应用都有自己的应用沙盒,应用沙盒就是文件系统目录 。所...

  • Objective-C沙盒结构

    导读: 一、什么是沙盒机制二、沙盒的特点三、沙盒的结构组成四、获取沙盒目录路径 一、什么是沙盒机制 iOS中的沙盒...

  • iOS 沙河路径

    沙河路径 每个iOS 应用都有自己的沙盒路径,应用沙盒就是文件系统目录应用沙盒文件目录:应用程序包、Documen...

  • OC - 沙盒

    导读: 一、什么是沙盒机制 二、沙盒的特点 三、沙盒的结构组成 四、获取沙盒目录路径 一、什么是沙盒机制 iOS中...

  • iOS开发之沙盒机制

    沙盒 iOS系统,每个应用都有自己的沙盒,每个沙盒都是相互独立的,不能互相访问。 获取沙盒路径的代码: NSHom...

  • iOS读写json文件

    一.获取沙盒路径 每个iOS应用都有自己专属的应用沙盒,应用沙盒就是文件系统中的目录。但是iOS系统会将每个应用的...

  • iOS 文件操作

    iOS文件(沙盒目录,文件创建、移动、复制等) 目录获取获取沙盒的主目录路径: (NSString *)homeD...

  • iOS - 沙盒路径

    1, 获取Documents目录路径 此文件夹是默认备份的,备份到iCloud 2,获取Caches目录路径 可以...

网友评论

本文标题:iOS 8 之后的动态沙盒路径

本文链接:https://www.haomeiwen.com/subject/kdnlqttx.html