博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS开发——沙箱
阅读量:5151 次
发布时间:2019-06-13

本文共 1143 字,大约阅读时间需要 3 分钟。

  iOS的沙盒机制,应用只能访问自己应用目录下的文件。可以形象的理解为,一个个应用,就相当于一个个的碉堡,各是各的空间,

  iphone沙箱模型的有三个文件夹,documents,tmp,Library。有时开发时要求我们保存一些数据在本地,这就用到了。

  1、Documents 目录:苹果建议将程序创建产生的文件以及应用浏览产生的文件数据保存在该目录下,iTunes备份和恢复的时候会包括此目录

  2、Library 目录:这个目录下有两个子目录:Caches 和 Preferences

  Preferences 目录:包含应用程序的偏好设置文件。您不应该直接创建偏好设置文件,而是应该使用NSUserDefaults类来取得和设置应用程序的偏好.
  Caches 目录:存放缓存文件,保存应用的持久化数据,用于应用升级或者应用关闭后的数据保存,不会被itunes同步,所以为了减少同步的时间,可以考虑将一些比较大的文件而又不需要备份的文件放到这个目录下。

  3、tmp 目录:提供一个即时创建临时文件的地方,但不需要持久化,在应用关闭后,该目录下的数据将删除,也可能系统在程序不运行的时候清除。

 

获取这些目录路径的方法:

   // 获取沙盒主目录路径

    NSString *homePath = NSHomeDirectory();

    NSLog(@"homePath:%@",homePath);

    

    // 获取Documents目录路径

    NSArray *paths1 = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

    NSString *docPath = [paths1 objectAtIndex:0];

    NSLog(@"docPath:%@",docPath);

 

    // 获取Caches目录路径

    NSArray *paths2 = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);

    NSString *cachesPath = [paths2 objectAtIndex:0];

    NSLog(@"cachesPath:%@",cachesPath);

 

    // 获取tmp目录路径

    NSString *tmpPath =  NSTemporaryDirectory();

    NSLog(@"tmpPath:%@",tmpPath);

转载于:https://www.cnblogs.com/yyt-hehe-yyt/p/5345746.html

你可能感兴趣的文章
Hadoop HBase概念学习系列之HBase里的宽表设计概念(表设计)(二十七)
查看>>
Kettle学习系列之Kettle能做什么?(三)
查看>>
【Mac + GitHub】之在另一台Mac电脑上下载GitHub的SSH链接报错
查看>>
Day03:Selenium,BeautifulSoup4
查看>>
awk变量
查看>>
mysql_对于DQL 的简单举例
查看>>
35. Search Insert Position(C++)
查看>>
[毕业生的商业软件开发之路]C#异常处理
查看>>
一些php文件函数
查看>>
jQuery 给div绑定单击事件
查看>>
有关快速幂取模
查看>>
Linux运维必备工具
查看>>
字符串的查找删除
查看>>
NOI2018垫底记
查看>>
快速切题 poj 1002 487-3279 按规则处理 模拟 难度:0
查看>>
Codeforces Round #277 (Div. 2)
查看>>
【更新】智能手机批量添加联系人
查看>>
NYOJ-128前缀式计算
查看>>
淡定,啊。数据唯一性
查看>>
深入理解 JavaScript 事件循环(一)— event loop
查看>>