iOS沙盒机制和文件(一)

1. iOS沙盒机制

概念:每个iOS应用都有自己的应用沙盒,应用沙盒就是文件系统目录。所有的非代码文件都要保存在此,例如图像,图标,声音,映像,属性列表,文本文件等。

  • 每个应用程序的活动范围都限定在自己的沙盒里
  • 不能随意跨越自己的沙盒去访问别的应用程序沙盒中的内容(iOS8已经部分开放访问extension)
  • 在访问别人沙盒内的数据时需要访问权限。

注意:APP之间不能相互通,唯独可以通过URL Scheme可以通信

2. 打开模拟器沙盒目录

可以设置显示隐藏文件,然后在Finder下直接打开。设置查看隐藏文件的方法如下:打开终端,输入命名

显示Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -bool true
隐藏Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -bool false

直接在Finder->前往->前往文件夹(或者点击桌面空白处command+shift+g),
输入上面的内容即可。记住将XXXXX换成你的电脑用户名。
/Users/XXXXX/Library/Developer/CoreSimulator/。这里面就是模拟器的各个程序的沙盒目录了。
应用沙盒路径

3. 目录结构

每个APP的沙盒下面都有相似目录结构,如图(苹果官方文档)
默认情况下,每个沙盒含有3个文件夹:Documents, Library 和 tmp。因为应用的沙盒机制,应用只能在几个目录下读写文件
目录结构

4. 目录说明

目录介绍
AppName.app应用的buddle,包括app和它内部的资源。你不能往这个目录中写数据,为了防止你这样干,在安装的时候,该目录被重签名
Documents/用来存储用户建立或浏览生成的数据, 这些数据都是你愿意暴露给用户的,itunes会自动备份这里面的文件
Library/存放不是用户数据,是你不希望暴露给用户的;ios通常建立 Application Support 和Caches 这2个子目录,你也可以建立其他子目录,除Caches中内容其他会被itunes备份
Library/Caches存放缓存文件,iTunes不会备份此目录,此目录下文件不会在应用退出删除
Library/Preferences保存应用程序的所有偏好设置iOS的Settings(设置),我们不应该直接在这里创建文件,而是需要通过NSUserDefault这个类来访问应用程序的偏好设置。*iTunes会自动备份该文件目录下的内容。比如说:是否允许访问图片,是否允许访问地理位置……
tmp/存放临时文件,在app退出后,此目录下文件会被清除,不会被itunes备份

iTunes在与iPhone同步时,备份所有的Documents和Library/Preferences文件。
iPhone在重启时,会丢弃所有的tmp文件。

链接:iOS高级

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值