一、沙盒文件结构

--Documents ------ 可以和iTunes共享,可以同步的

--Library ------ 不共享给用户,存储用户默认设置和缓存等

--Caches ------ 存储缓存

--Preferences ------ 存储用户偏好设置

--SystemData ------(这个目录暂时不知道用来做什么的,以后补充)

--tmp ----- 存放临时文件(可能被系统删除)

二、获取沙盒路径:

NSHomeDirectory();

三、查看沙盒内容

模拟器

直接复制路径到访达中---->前往文件夹就可以查看沙盒里面的内容了。

真机

仅查看Documents目录下的文件

①info.plist添加Application supports iTunes file sharing 属性设置为YES。 注意这个配置只适合debug用,打包上传时记得关掉,要不然会被拒的

image.png

②手机连上电脑在Itunes可以直接看到Documents下的文件。

image.png

此“文件共享”为Documents下级目录,如此路径下没文件则显示空白的。此时我的沙盒Documents目录如下:

--Documents

--taihe.txt

查看整个沙盒内容

①选择Xcode--->Windows--->Devices and Simulators

image1.png

②选择Devices--->选中要查看的应用--->小螺丝按钮 ---> Download Container

image2.png

③下载后会是一个以.xcappdata 结尾的文件,直接右击--->显示包内容就可以看到如下目录

image3.png

四、获取沙盒各文件路径

参数说明

directory:要搜索的路径(枚举值)

domainMask:要搜索的域,iOS中固定填写NSUserDomainMask

expandTilde:是否展开波浪号。YES(user/xxxx/xxxxx/xxxx/某路径)NO(~/某路径)

return:返回值一个长度为一的存有路径字符串的数组。

方法

NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory directory,NSSearchPathDomainMask domainMask, BOOL expandTilde)

eg: 获取Documents目录

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

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐