可靠地获取iOS应用程序的“〜/Library”路径

18

这篇苹果技术记录:

http://developer.apple.com/library/ios/#qa/qa2010/qa1699.html

建议将“内部”用户文档存储在~/Library的子目录中。但我找不到一个能够让我找到它的预创建搜索域。构建此路径的最佳/最正确/最不容易破坏的方法是什么?

谢谢。

2个回答

43

正确的方法是

NSString* path;
path = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES)[0];

然而,[@"~/Library" stringByExpandingTildeInPath] 也可以工作。


Swift 3:

let path = NSSearchPathForDirectoriesInDomains(.libraryDirectory, .userDomainMask, true)[0]

NSLibraryDirectory文档记录指向根目录/Library,而不是用户版本。在这种情况下它们在语义上等价吗? - Ben Zotto
1
我确认NSLibraryDirectoryNSUserDomainMask结合在这里做了正确的事情。谢谢Kenny。 - Ben Zotto

6
您也可以尝试这个方法:
[NSHomeDirectory() stringByAppendingString:@"/Library"]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接