获取当前用户的主目录

时间:2011-08-05 15:04:05

标签: objective-c cocoa macos

我正在开发一个可在Mac OS X上运行的Cocoa Objective-C应用程序。我需要获取当前用户主目录的完整路径:

/Users/MyUser/

在Objective-C / Cocoa中是否有标准函数可以做到这一点?

3 个答案:

答案 0 :(得分:40)

NSHomeDirectory:“返回当前用户主目录的路径。”

示例:

NSLog(@"Current user’s home directory is %@", NSHomeDirectory());

答案 1 :(得分:3)

从macOS 10.12开始,您还可以使用FileManager.default.homeDirectoryForCurrentUser,请参阅documentation

答案 2 :(得分:2)

您可以使用 FileManager.default.homeDirectoryForCurrentUser -> URLNSHomeDirectory() -> String - 它们都返回相同的内容,只是类型不同。

但是有一个重要的警告:

<块引用>

在 macOS 中,它是应用程序的沙箱目录或当前用户的主目录(如果应用程序不在沙箱中)。

如果您正在构建要在 App Store 中分发的应用程序,您将不得不处理这样一个事实,即这些函数返回沙盒主目录,而不是用户认为的目录 ~ .