ios沙箱软件_iOS应用软件沙盒sandbox相关知识(整理)
1、iOS沙盒机制原理
iOS应用程序只能在该程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒,所以所有的非代码文件都要保存在此,例如图像,图标,声音,映像,属性列表,文本文件等。
1.1、每个应用程序都有自己的存储空间
1.2、应用程序不能翻过自己的围墙去访问别的存储空间的内容
1.3、应用程序请求的数据都要通过权限检测,假如不符合条件的话,不会被放行。
通过这张图只能从表层上理解sandbox是一种安全体系,应用程序的所有操作都要通过这个体系来执行,其中核心内容是:sandbox对应用程序执行各种操作的权限限制。
2.获取应用软件沙盒sandbox方法:
通过在iOS程序viewDidLoad中打印NSString *path = NSHomeDirectory(); 然后在Finder中前往该打印出的路径,即可看到该程序的沙盒sandbox.
例如:/Users/wujia121/Library/Developer/CoreSimulator/Devices/3FDEE527-D4DB-492F-9490-1D04AF9559A8/data/Containers/Data/Application/82A190D8-C6F2-444F-90A5-17B051CC0021
(可见sandbox保存在Mac用户文件夹下,而SDK保存在Xcode包content中)
3.iphone沙盒模型的有四个文件夹:
分别是 documents,Library,tmp,app包。 手动保存的文件在documents文件里,NSUserdefaults保存的文件在tmp文件夹里。
1、Documents 目录:一般需要持久的数据都放在此目录中,可以在当中添加子文件夹,iTunes备份和恢复的时候,会包括此目录。您应该将所有de应用程序数据文件写入到这个目录下。这个目录用于存储用户数据或其它应该定期备份的信息。
2、Library 目录:这个目录下有两个子目录:Caches 和 Preferences
Preferences 目录:包含应用程序的偏好设置文件。您不应该直接创建偏好设置文件,而是应该使用NSUserDefaults类来取得和设置应用程序的偏好.
Caches 目录:用于存放应用程序专用的支持文件,保存应用程序再次启动过程中需要的信息。
3、tmp 目录:这个目录用于存放临时文件,当iOS设备重启时,文件会被自动清除。
4、AppName.app 目录:这是应用程序的程序包目录,包含应用程序的本身。由于应用程序必须经过签名,所以您在运行时不能对这个目录中的内容进行修改,否则可能会使应用程序无法启动。(Xcode 6以后似乎.app不保存在沙盒中)
4.获取Sandbox下各文件夹路径的方法:
//1. 沙盒根目录/
NSString*homePath = NSHomeDirectory();
NSLog(@"homePath:%@",homePath);
//2. 沙盒/Documents/
NSString*docPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];
NSLog(@"docPath:%@",docPath);
//3. 沙盒/Library/
NSString*libPath = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) firstObject];
NSLog(@"libPath:%@",libPath);
//3.1 沙盒/Library/Preferences
//NSString *preferPath = [NSSearchPathForDirectoriesInDomains(NSPreferencePanesDirectory, NSUserDomainMask, YES) firstObject];
//此方法获取路径是沙盒/Library/PreferencePanes并不存在这样的路径,想要访问Preferences文件夹,需要拼接路径。或者直接使用NSUserDefaults便可以在Preferences文件夹下创建plist文件。
NSString*preferPath = [libPath stringByAppendingPathComponent:@"Preferences"];
NSLog(@"preferPath:%@",preferPath);
//3.2 沙盒/Library/Cache
NSString*cachePath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject];
NSLog(@"cachePath:%@",cachePath);
//4. 沙盒/tmp
NSString*tmpPath = NSTemporaryDirectory();
NSLog(@"tmpPath:%@",tmpPath);
//5. 打印xx.app位置
NSLog(@".appPath:%@",[[NSBundlemainBundle] bundlePath]);//打印app安装包的在模拟器/手机上的位置(~users/Application文件夹下)
真机打印结果:
homePath: /var/mobile/Containers/Data/Application/849F64A3-BE4A-44FE-A789-6790A77E567AdocPath: /var/mobile/Containers/Data/Application/849F64A3-BE4A-44FE-A789-6790A77E567A/DocumentslibPath: /var/mobile/Containers/Data/Application/849F64A3-BE4A-44FE-A789-6790A77E567A/LibrarypreferPath: /var/mobile/Containers/Data/Application/849F64A3-BE4A-44FE-A789-6790A77E567A/Library/PreferencescachePath: /var/mobile/Containers/Data/Application/849F64A3-BE4A-44FE-A789-6790A77E567A/Library/CachestmpPath: /private/var/mobile/Containers/Data/Application/849F64A3-BE4A-44FE-A789-6790A77E567A/tmp/
.appPath: /private/var/mobile/Containers/Bundle/Application/429B6769-6D90-4782-844C-CA95E8B28166/打印程序的沙盒地址2015.10.app
5.沙盒路径截图:
ios沙箱软件_iOS应用软件沙盒sandbox相关知识(整理)相关推荐
- iOS应用软件沙盒sandbox相关知识(整理)
1.iOS沙盒机制原理 iOS应用程序只能在该程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒,所以所有的非代码文件都要保存在此,例如图像,图标,声音,映像,属性列表,文本文件等. ...
- ios沙箱软件_iOS沙盒管理工具FHHSandBoxViewer
KeyWord:沙盒文件递归遍历.Swift里的闭包多个weak修饰.iOS使用AirDrop 操作演示.gif 平时真机开发调试App的时候想查看沙盒具体内容一般做法是连接Xcode下载整个App的 ...
- ios沙箱软件_iOS 开发之沙盒机制
1.iOS 沙盒机制简介 沙盒也叫沙箱,英文standbox,其原理是通过重定向技术,把程序生成和修改的文件定向到自身文件夹中.在沙盒机制下,每个程序之间的文件夹不能互相访问.iOS系统为了保证系统安 ...
- ios沙箱软件_iOS app ipa 与 沙盒
app沙盒 .app:存放程序源文件,上架前经过数字签名,上架后不可修改 Documents:保存应用运行时生成的需要持久化的数据,iTunes同步设备时会备份该目录.例如,游戏应用可将游戏存档保存在 ...
- ios沙箱软件_ios真机和模拟器沙盒文件(一)
版本记录 版本号 时间 V1.0 2017.06.11 前言 我们有时候需要在沙盒中存储东西,所以总有需求就是查看沙盒文件里面存储的文件,这就需要我们查看沙盒文件,沙盒文件包括真机的沙盒文件和模拟器的 ...
- ios沙箱软件_iOS沙盒获取
屏幕快照 2017-04-11 上午11.08.53.png 1.获取沙盒中home目录(主目录,沙盒的最外层)的路径 NSString *homeDir = NSHomeDirectory(); N ...
- ios沙箱软件_IOS沙箱操作
沙盒的内容 Bundle Container:MyApp.app 包 1. .h/.m ⺫⽬目标⽂文件 2. Info.list 3. Images.xasset:place.png 4.Launch ...
- ios沙箱软件_iOS iap 应用要进行的沙箱测试是什么?
刚好在等审核,来顺手答下. 沙箱测试是在你的app含有内购功能的前提下,需要进行的测试. iOS 内购通过Apple ID购买,你需要在itunes connect里面设置app的内购功能,得到产品I ...
- iOS学习之iOS沙盒(sandbox)机制和文件操作(二)
接上篇 iOS学习之iOS沙盒(sandbox)机制和文件操作(一) 我们看看如何获取应用程序沙盒目录.包括真机的沙盒的目录. 1.获取程序的Home目录 [cpp] view plaincopy N ...
最新文章
- 关于web项目的 ajax 处理方式
- C语言经典例4-某一天是这一年的第几天
- codelite14中文语言包_Windows下CodeLite完美支持中文的正确设置方法
- 我慌了!技术经理问为什么要分布式存储......
- RocketMQ集群之搭建2m2s集群(配置说明)
- Scrapy入门(二)创建Scrapy项目
- Edge on Linux?微软:会有的,但不是现在
- C#调用ATL COM
- goland 方法注释_goland 设置注释模板的过程图文详解
- 【C语言】编写程序,输出以下图形
- apicloud - addEventListener 接收不到 sendEvent 的解决方法
- 拿到参考资料的预训练模型,太可怕了!
- C# 编译或者解释?
- 运维工程师到底是做什么的?
- FPGA的NIOS-II
- 我迟早被这些AI绘画笑死...
- 人民币大小写金额转换
- 泉州信息工程学院 计算机考试,泉州信息工程学院教务网络管理系统成绩查询、网上选课查分登录入口...
- 2020-09-22关于dialog 问题
- 联想T460p加装固态硬盘
热门文章
- 国内一些比较大型的外包公司
- msiexec.exe更新window install
- 使用python生成词云——聆心云心理健康服务平台数据可视分析和可视化
- 蓝桥杯准备(Python)罗马数字
- 史玉柱经典语录(转)
- 个人所得税计算器程序c语言,基于C语言实现的个人所得税纳税系统.docx
- aardio 谷歌浏览器自动化 (四) 浏览器动作和信息获取
- 简单介绍快快网络游戏盾-云安全防护
- 清华大学计算机系九推,人工智能琴棋诗画样样精通,就问你怕不怕 | 清华大学计算机系智能体晚会...
- 计算机英语网络电话ppt,楼宇智能化技术(第4版)第4章电话网技术ppt课件