iOS沙盒详解

iOS沙盒(sandbox)机制和文件操作
 
1、iOS沙盒机制
 
iOS应用程序只能在为该程序创建的文件系统中读取文件,不可以去其他地方访问,此区域被称为沙盒,所以所有的非代码文件都要保存在此,例如图像、图标、声音、映像、属性列表、文本文件等。
 
1.1、每个应用程序都有自己的存储空间
 
1.2、应用程序不能翻过自己的围墙去访问别的存储空间的内容
 
1.3、应用程序请求的数据都要通过权限检测,假如不符合条件的话,不会被放行。
 
2、打开模拟器沙盒目录
 
文件都在个人用户名文件夹下的一个隐藏文件夹里,中文叫资源库,其实是Library
 
2.1、方法1、可以设置显示隐藏文件,然后在Finder下直接打开。
设置查看隐藏文件的方法如下:
打开终端,输入命令:
显示Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -bool true
隐藏Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -bool false
输完点击Enter键,退出终端,重新启动Finder就可以了。
重启Finder:鼠标单击窗口左上角的苹果标志-->强制退出-->Finder--> 现在能看到资源库文件夹了。
打开资源库后找到/Application Support/iPhone Simulator/文件夹,就是模拟器的各个程序的沙盒目录了。
 
2.2 方法2、在Finder上点—>前往——>前往文件夹,输入/Users/username/Library/Application Support/iPhone Simulator/ 前往。
 
3、目录结构
 
默认情况下,每个沙盒含有3个文件夹:Documents,Library和temp。因为机制问题,应用智能在几个目录下读写文件
 
Documents:苹果建议将程序中建立的或在程序中浏览到的文件数据保存在该目录下,itunes备份和回复的时候会包括此目录。一般存放用户信息等小数据、存放过大数据,会被苹果审核小组拒绝;
存储用户产生的内容。这个目录下的文件可以通过文件共享暴露给用户,也就是说, 这个目录下存储的只能是你想暴露给用户的东西。iTunes备份
 
Library:存储程序的默认设置或其他状态信息:有些游戏资源会在library下创建子文件夹,进行存储
Library/Caches:存放缓存文件,iTunes不会备份此目录,此目录下文件不会再应用退出删除;
非用户文件的顶级目录, 用这个目录来存储哪些不想暴露给用户的文件;
 
Library/preferences:NSUserDefaults操作的本地plist文件就在这里。
 
temp:提供一个即时创建临时文件的地方,应用重新打开可能就会被清理数据;
iTunes在与iPhone同步时,备份所有的Documents和Library文件;
临时文件,App应当在文件不需要使用的时候把该文件删除。存储那些不会在两次运行App都要使用的数据。不会被iTunes备份;
iPhone在重启时,会丢弃所有的temp文件
 
 

转载于:https://www.cnblogs.com/nathanileLoveAnan/p/6594077.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值