Authorize a non-admin developer in Xcode / Mac OS
I use a standard user account for my daily tasks on Mac OS. Since upgrading to Snow Leopard I am asked to do the following when a program is run from within Xcode:
"Type the name and password of a user in the 'Developer Tools' group to allow Developer Tools Access to make changes"
While I know the admin username/password, this is annoying (though only required once per login).
The developer tools access is asking for rights to "system.privilege.taskport.debug" from application gdb-i386-apple-darwin.
What is the best way around this?
Solution 1:
You need to add your macOS
user name to the _developer
group. See the posts in this thread for more information. The following command should do the trick:
sudo dscl . append /Groups/_developer GroupMembership <username>
Solution 2:
Finally, I was able to get rid of it using DevToolsSecurity -enable
on Terminal.
Thanks to @joar_at_work!
FYI: I'm on Xcode 4.3, and pressed the disable button when it launched for the first time, don't ask why, just assume my dog made me do it :)
Solution 3:
$ dseditgroup -o edit -u <adminusername> -t user -a <developerusername> _developer
Solution 4:
You should add yourself to the Developer Tools group. The general syntax for adding a user to a group in OS X is as follows:
sudo dscl . append /Groups/<group> GroupMembership <username>
I believe the name for the DevTools group is _developer
.
Solution 5:
Ned Deily's solution works perfectly fine, provided your user is allowed to sudo
.
If he's not, you can su
to an admin account, then use his dscl . append /Groups/_developer GroupMembership $user
, where $user is the username.
However, I mistakenly thought it did not because I wrongly typed in the user's name in the command and it silently fails.
Therefore, after entering this command, you should proof-check it. This will check if $user is in $group, where the variables represent respectively the user name and the group name.
dsmemberutil checkmembership -U $user -G $group
This command will either print the message user is not a member of the group
or user is a member of the group
.