iOS中的沙盒目录
2017-07-19 本文已影响20人
大米卡卡
沙盒是在受限的安全环境中运行应用程序的一种做法,这种做法是要限制授权的应用程序的代码访问权限。iOS默认的情况下只允许访问程序自身的目录结构,这个目录被称为“沙盒”。
1. 沙盒结构
2. 目录特性
沙盒的目录结构中每个文件夹都有着不一样的特性,在选择存放目录的时候要根据特性选择合适的目录。如果选择了错误的目录,有可能会无法通过审核。
应用程序包:
这里存放的是应用程序的源文件,资源文件以及可执行文件。
Documents:
最常用的目录,一般存放比较重要的文件,比如用户的数据信息,iCloud会自动备份该文件夹的内容。
Library/Caches:
用于存放与服务器交互时产生的可下载内容和数据库缓存文件。
Tmp:
临时数据保存到这里,iCloud不会备份这些文件,尽管如此,还是应该在使用后尽量删除这里的数据,避免占用设备空间,内存不足的时候系统也会清理这里的数据。
3. 沙盒目录获取方法
// Documents
func getDocumentDir() -> String {
return NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0]
}
// Caches
func getCachesDir() -> String {
return NSSearchPathForDirectoriesInDomains(.cachesDirectory, .userDomainMask, true)[0]
}
// Tmp
func getTmpDir() -> String {
return NSTemporaryDirectory()
}