iOS 文档目录在路径方法中展开波浪号



刚刚得到了我关于如何获取文档目录的答案的-1。我总是这样做:

NSString *documentsPath = [@"~/Documents" stringByExpandingTildeInPath];

它总是按照我的期望工作。这种方法有没有真正的水下岩石?

不,它并不总是有效。如果您的应用在沙盒中运行(应用商店需要),您将无法获取真正的文档目录。

刚刚做了一些测试,以下是我得到的:

/Users/<user-name>/Library/Containers/<app-name>/Data/Documents

但我真正的文件是

/Users/<user-name>/Documents

正确的调用方法:NSSearchPathForDirectoriesInDomains()

正如苹果文档所述:

为指定目录中的路径字符串列表 指定的域。列表按应搜索的顺序排列 目录。如果 expandTilde 为 YES,则波形符扩展为 在 stringByExpandingTildeInPath 中描述。

例:

NSString *documentsPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)

最新更新