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()
交流!交流!交流!
如有错误,请务必及时指正!