Mac OS X:从目录服务获取当前用户的当前用户名和主目录
我的应用程序是用 Objective-C 编写的。如何通过目录服务获取当前登录用户的用户名和主目录?
细节: 我的 Cocoa 应用程序使用 getenv("USER")、getenv("HOME") 获取当前用户名和主目录。显然,如果用户通过目录服务登录,这将无法正常工作。我正在执行 chdir($HOME) 然后运行以下命令: 登录-fp $USER 它拒绝它,因为我认为登录通过目录服务来验证用户,并且他在该系统中的用户名可能与 $USER 的值不同。同样,他可能在目录服务中指定了与 $HOME 不同的主目录。
My app is written in Objective-C. How can I get the user name and home directory of the currently logged in user through directory services?
Detail:
My Cocoa app gets the current username and home directory with getenv("USER"), getenv("HOME"). Apparently this doesn't work right if the user is logged in through directory services. I am doing a chdir($HOME) and then running this command:
login -fp $USER
and it rejects it because, I think, login goes through the directory service to authenticate the user, and his username in that system may not be the same as the value of $USER. Likewise, he may have a home directory specified in directory services that is different than $HOME.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
尝试
NSUserName()
和NSHomeDirectory()
。Try
NSUserName()
andNSHomeDirectory()
.