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

时间:2014-02-20 22:56:41

标签: objective-c cocoa-touch

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

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

它始终按照我的预期运作。这种方法有没有真正的水下岩石?

2 个答案:

答案 0 :(得分:1)

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

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

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

但我的真实文件是

/Users/<user-name>/Documents

答案 1 :(得分:0)

正确的致电方法:NSSearchPathForDirectoriesInDomains()

正如Apple文档所述:

  

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

示例:

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