您的位置:首页 > 移动开发 > IOS开发

iOS8 沙盒路径变化特性

2015-12-03 11:41 106 查看
转自: http://blog.csdn.net/mayerlucky/article/details/42675651
如有侵犯,请来信oiken@qq.com

oiken : 最新在做视频下载和播放的app,用xcode 和 真机,模拟器连调的时候,用xcode新启动app,下载时的保存路径都会无效,导致数据为0mb

这个以我的经验,可写目录是不会变化的,还以为是下载引擎的问题,搞了一阵,原来是iOS8以后有这个沙盒路径的变化。谢谢这位作者。

在我们的印象中一个路径获取后,下一次再想进此路径只需原路径搜索即可。但在iOS8中,倘若再抱有此思想,我想只会碰壁。
1.在iOS8之前,我们获取到沙盒中的document、cache、tmp之后,下一次模拟器或真机无论怎样重启,这具体的路径是固定的了。(下面我们以Document为例介绍)

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

比如上面是iOS8之前获取到的document路径,在这之后,只要应用不删除,那么这个document路径就一直是这个

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

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

///Users/fanmingyang/Library/Developer/CoreSimulator/Devices/B9F35720-6386-445A-A0DA-0D911BFA64C3/data/Containers/Data/Application/D73211C2-497C-4C92-828C-584955C23BCB/Library/Documents
iOS8中第二次启动时的路径:

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

3.可见。iOS8之后,每一次重启路径都发生了变化



4.虽然iOS8之后,沙盒的路径发生了变化,但是并不代表你原来沙盒路径中的数据发生了变化;同时,也并不代表路径会越来越多。
比如,我在document中写入了数据own.data后,下一次重启后路径变化了,那我们不禁要问,我们的own.data去哪儿呢?
其实这个不用担心,苹果已经为你做好了.
1>苹果会把你上一个路径中的数据转移到你新的路径中。
2>你上一个路径也会被苹果毫无保留的删除,只保留最新的路径。

以上仅是个人实例验证,如有不妥之处还请宽宥这个。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: