iOS

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()

交流!交流!交流!

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

原文地址:https://www.cnblogs.com/madarax/p/6857437.html