获取当前用户的主目录

Posted

技术标签:

【中文标题】获取当前用户的主目录【英文标题】:Get current user's home directory 【发布时间】:2011-08-05 15:04:04 【问题描述】:

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

/用户/我的用户/

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

【问题讨论】:

【参考方案1】:

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

例子:

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

【讨论】:

Swift: print("当前用户的主目录是\(NSHomeDirectory())")【参考方案2】:

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

【讨论】:

【参考方案3】:

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

但有一个重要的警告:

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

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

【讨论】:

以上是关于获取当前用户的主目录的主要内容,如果未能解决你的问题,请参考以下文章

linux环境下如何快速切换到用户tom的主目录

如何快速切换到用户john的主目录下

Linux基础命令

cd命令

Linux文件与目录管理

Linux文件与目录管理