iOS - 沙盒?Bundle?

Pay attention please!沙盒和Bundle是不一样滴。

沙盒路径:NSHomeDirectory() -> String

Bundle路径: Bundle.main.bundlePath -> String

 

// 控制台打印信息:

/var/containers/Bundle/Application/D7B8B3EE-B681-47C2-BE8A-60CB573D808B/test_QQShare.app

/var/mobile/Containers/Data/Application/7EC5843B-6DBE-4F4D-AAAD-A80335A2182A

就路径来看,Bundle 和 沙盒是不一样的存储区域。

 

官方:In iOS, the home directory is the application’s sandbox directory.

官方:An NSBundle object helps you access the code and resources in a bundle directory on disk.

 

沙盒文件目录获取方法:

1、document:存储用户信息

NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.documentDirectory, FileManager.SearchPathDomainMask.userDomainMask, true).first

 

2、library:cache、preference

NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.libraryDirectory, FileManager.SearchPathDomainMask.userDomainMask, true).first

 

2.1、cache:存储缓存数据(图片等)

NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.cachesDirectory, FileManager.SearchPathDomainMask.userDomainMask, true).first

 

2.2、preference:存放app偏好设置信息,userdefaults存储为plist格式

NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.preferencePanesDirectory, FileManager.SearchPathDomainMask.userDomainMask, true).first

 

3、temp:存放的临时文件会在关闭app后清空

NSTemporaryDirectory()

 

交流!交流!交流!

如有错误,请务必及时指正!

 

posted @ 2017-05-15 18:51  madarax  阅读(400)  评论(0编辑  收藏  举报