移动应用软件开发综合实训(基于iOS平台)-2017 应用程序安全及沙盒 iOS应用软件沙盒sandbox.docx

移动应用软件开发综合实训(基于iOS平台)-2017 应用程序安全及沙盒 iOS应用软件沙盒sandbox.docx

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
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?str

文档评论(0)

WanDocx + 关注
实名认证
内容提供者

大部分文档都有全套资料,如需打包优惠下载,请留言联系。 所有资料均来源于互联网公开下载资源,如有侵权,请联系管理员及时删除。

1亿VIP精品文档

相关文档