Heath Borders
Heath Borders

Reputation: 32157

Stop "developer tools access needs to take control of another process for debugging to continue" alert

I recently upgraded to 10.7.3, and when I try to debug my iOS project in the simulator for the first time after logging in, I'm prompted with the following two alerts:

Developer Tools Access needs to take control of another process for debugging to continue. Type your password to allow this.

gdb-i386-apple-darwin needs to take control of another process for debugging to continue. Type your password to allow this.

My user is an admin user. I never saw these alerts before. How do I get them to stop?

EDIT

I've verified that I'm a member of the _developer group using id -a.

Upvotes: 146

Views: 105246

Answers (10)

omxian
omxian

Reputation: 430

enable develoer mode: In Terminal run this:

DevToolsSecurity -enable

Upvotes: 20

kenster
kenster

Reputation: 3237

There's a much simpler solution for this. Try running the following command:

sudo /usr/sbin/DevToolsSecurity --enable

--EDIT--

If you're on Ventura, see Mark's answer

Upvotes: 231

Mark
Mark

Reputation: 1983

I'm on macOS Ventura and receive

enter image description here

TL;DR

sudo dscl . append /Groups/_developer GroupMembership <username>

As per https://stackoverflow.com/a/1837935/5506988

What was tried

sudo /usr/sbin/DevToolsSecurity --enable says it's already enabled.

After entering my username and password, it works but then I have to do this every time I launch the debugger.

If I run sudo security authorizationdb write system.privilege.taskport allow it prevents the prompt but only until the next restart.

I tried following the existing answers that ask you to update /etc/authorization - which has been deprecated since macOS mavericks and is now /System/Library/Security/authorization.plist but I couldn't edit this file (I even tried this) but since my $USER isn't an owner of the file so I can't force overwrite it even with sudo.

I tried

sudo /usr/libexec/PlistBuddy -c "Set :rights:system.privilege.taskport:class allow" authorization.plist

But of course, the same applies but instead this fails silently.

If I run id -a it returns 204(_developer) so I am part of the developer group even before running the dcsl command

What fixed it for me was

sudo dscl . append /Groups/_developer GroupMembership <username>

Upvotes: 10

Tim Johnsen
Tim Johnsen

Reputation: 180

I just turned debugging off in (edit scheme) -> uncheck debug executable. But I also do all of my debugging on another console, so if you are developing and need the debugger then it wont help. I only have this issue with an old version of Xcode 8.2.1 since I am running the code on an old Mac using El Capitan.

Newer mac and Xcode version 10 doesn't seem to have this issue.

Upvotes: 2

Ash
Ash

Reputation: 5712

I had same issue with my mac 10.12.5 & Xcode9 Run this command :

sudo security authorizationdb write system.privilege.taskport allow 

Then enter your password.. Check if it still prompt you. Good luck..

Upvotes: 9

zszen
zszen

Reputation: 1478

no need code. no need reinstall xcode. Do these steps:

1.close xcode.

2.open Keychain access.

3.double click your Keychain(the key icon which create from keychain.p12)

4.go to access control panel(name maybe not right)

5.enable all app access this.

6.save.

7.run your xcode project.

8.it works well.

Upvotes: -4

Emily
Emily

Reputation: 91

I modified the rule for system.privilege.taskport and the alert doesn't show up anymore.

  1. Open the file /etc/authorization.
  2. Find the rule system.privilege.taskport. Under the line <key>class</key>, change <string>rule</string> to <string>allow</string>

Upvotes: 9

Heath Borders
Heath Borders

Reputation: 32157

Per Zev Eisenberg's answer, reinstalling Xcode 4.2.1 worked. However, it might be easier to just patch the /etc/authorization file with the following diff.

        <key>system.privilege.taskport.debug</key> 
        <dict>
            <key>allow-root</key>
            <false/>
            <key>class</key>
-           <string>user</string>
+           <string>rule</string>
            <key>comment</key>
            <string>For use by Apple.  WARNING: administrators are advised
             not to modify this right.</string>
            <key>default-button</key>
            <dict>
            ...
            </dict>
            <key>default-prompt</key>
            <dict>
            ...
            </dict>
-           <key>group</key>
-           <string>_developer</string>
            <key>shared</key>
            <true/>
-           <key>timeout</key>
-           <integer>36000</integer>
+           <key>k-of-n</key>
+           <integer>1</integer>
+           <key>rule</key>
+           <array>
+               <string>is-admin</string>
+               <string>is-developer</string>
+               <string>authenticate-developer</string>
+           </array>
        </dict>

Upvotes: 12

Zev Eisenberg
Zev Eisenberg

Reputation: 8168

Reinstalling Xcode 4.2.1 after upgrading to 10.7.3 seems to have fixed it for me.

Upvotes: 9

dafi
dafi

Reputation: 3532

Something has been modified on file /etc/authorization, I've a Lion without v10.7.3 and it has the following code

Lines 5807-5814

    <key>k-of-n</key>
    <integer>1</integer>
    <key>rule</key>
    <array>
        <string>is-admin</string>
        <string>is-developer</string>
        <string>authenticate-developer</string>
    </array>

After the update the file contains many modification due to new language supported but the lines corresponding to debugging authorization differ from the lines shown above in

Lines 7675-7676

    <key>group</key>
    <string>_developer</string>

I can't apply these differences to my 10.7.3 Lion installation because it's a production machine and I can't risk to corrupt it

I've all necessasy permission as shown from command id -a

uid=501(dave) gid=20(staff) groups=20(staff),
401(com.apple.access_screensharing),
402(com.apple.sharepoint.group.1),
12(everyone),
33(_appstore),
61(localaccounts),
79(_appserverusr),
80(admin),
81(_appserveradm),
98(_lpadmin),
100(_lpoperator),
204(_developer)

Upvotes: 0

Related Questions