Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Mac OS X: Get current username and home directory for current user from Directory Services

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.

like image 753
George Avatar asked Nov 24 '10 00:11

George


1 Answers

Try NSUserName() and NSHomeDirectory().

like image 79
Nicholas Riley Avatar answered Oct 14 '22 18:10

Nicholas Riley