Mac OS X:从目录服务获取当前用户的当前用户名和主目录

Geo*_*rge 4 macos directoryservices objective-c

我的应用程序是用Objective-C编写的.如何通过目录服务获取当前登录用户的用户名和主目录?

细节:我的Cocoa应用程序使用getenv("USER"),getenv("HOME")获取当前用户名和主目录.显然,如果用户通过目录服务登录,则此功能无法正常工作.我正在做一个chdir($ HOME)然后运行这个命令:login -fp $ USER并拒绝它,因为我认为登录通过目录服务来验证用户,并且他在该系统中的用户名可能不是与$ USER的值相同.同样,他可能在目录服务中指定的主目录与$ HOME不同.

Nic*_*ley 18

尝试NSUserName()NSHomeDirectory().