【发布时间】:2023-03-03 18:00:01
【问题描述】:
我正在开发一个可在 Mac OS X 上运行的 Cocoa Objective-C 应用程序。我需要获取当前用户主目录的完整路径:
/用户/我的用户/
在 Objective-C/Cocoa 中是否有标准函数可以做到这一点?
【问题讨论】:
标签: objective-c cocoa macos
我正在开发一个可在 Mac OS X 上运行的 Cocoa Objective-C 应用程序。我需要获取当前用户主目录的完整路径:
/用户/我的用户/
在 Objective-C/Cocoa 中是否有标准函数可以做到这一点?
【问题讨论】:
标签: objective-c cocoa macos
NSHomeDirectory:“返回当前用户主目录的路径。”
例子:
NSLog(@"Current user’s home directory is %@", NSHomeDirectory());
【讨论】:
从 macOS 10.12 开始,您还可以使用FileManager.default.homeDirectoryForCurrentUser,请参阅documentation。
【讨论】:
您可以使用 FileManager.default.homeDirectoryForCurrentUser -> URL 或 NSHomeDirectory() -> String - 它们都返回相同的内容,只是类型不同。
但有一个重要的警告:
在 macOS 中,它是应用程序的沙箱目录或当前用户的主目录(如果应用程序不在沙箱中)。
如果您正在构建要在 App Store 中分发的应用程序,您将不得不处理这些函数返回沙盒主目录而不是用户认为的目录 ~ 的事实。
【讨论】: