Beenden Sie die Warnung "Der Zugriff auf Entwicklertools muss die Kontrolle über einen anderen Prozess übernehmen, damit das Debuggen fortgesetzt werden kann"


124

Ich habe kürzlich ein Upgrade auf 10.7.3 durchgeführt. Wenn ich nach dem Anmelden zum ersten Mal versuche, mein iOS-Projekt im Simulator zu debuggen, werden die folgenden zwei Warnungen angezeigt:

Entwicklertools Access muss die Kontrolle über einen anderen Prozess übernehmen, damit das Debuggen fortgesetzt werden kann.  Geben Sie Ihr Passwort ein, um dies zuzulassen.

gdb-i386-apple-darwin muss die Kontrolle über einen anderen Prozess übernehmen, damit das Debuggen fortgesetzt werden kann.  Geben Sie Ihr Passwort ein, um dies zuzulassen.

Mein Benutzer ist ein Administrator. Ich habe diese Warnungen noch nie gesehen. Wie bringe ich sie dazu aufzuhören?

BEARBEITEN

Ich habe überprüft, ob ich Mitglied der _developerGruppe bin id -a.


3
Ich glaube, Sie müssen sich der _developerGruppe wie folgt hinzufügen : stackoverflow.com/questions/1837889/…, aber wenn Sie bereits Teil der _developerGruppe sind (so wie ich), bin ich mir nicht sicher, was sich geändert hat. Ich weiß, dass sich die /etc/authorizationDatei in 10.7.3 geändert hat, und einige Tests zeigen, dass ich einige der Eingabeaufforderungen entfernen kann, indem ich sie so bearbeite, dass sie immer allowdebuggt, aber mit Standardregeln scheint sie den _developerGruppentest nicht zu bestehen. :( Ich notiere, was ich gefunden habe, damit jemand anderes mehr Details ausgraben und mehr Sinn daraus machen kann, was kaputt
gegangen ist

3
lahm, dass dies geschlossen war.
Walross die Katze

Ich bin mir nicht sicher, warum dies zu lokalisiert war. Es ist ein Duplikat der Frage (mit Antwort), die hier zu finden ist: stackoverflow.com/a/11416025/2063546
Ian

Dies wurde zuerst gefragt. Das andere ist das Duplikat.
Heath Borders

Antworten:


199

Dafür gibt es eine viel einfachere Lösung. Führen Sie den folgenden Befehl aus:

sudo /usr/sbin/DevToolsSecurity --enable

Danke dir! Das ist toll. Die Manpage für DevToolsSecurityerklärt genau, was los ist.
Zmccord

12
Hat für mich funktioniert, aber warum zum Teufel hat Apple diese Barriere hinzugefügt? Sie führen ein Upgrade von einer funktionierenden Version von XCode durch und müssen sofort ihre seltsamen Fehlermeldungen googeln, um herauszufinden, wie Sie XCode weiterhin verwenden können. Schrecklicher Service.
Mike Gledhill

Arbeitete für mich wie ein Zauber. Vielen Dank!
fmquaglia

12
Hat auch bei mir nicht funktioniert:Developer mode is already enabled.
Yar

Dies funktionierte für mich mit Xcode 8 auf einem iMac, auf dem ein TeamCity-Agent unter Mac OS Sierra ausgeführt wird.
Ben Thomas

18

Entwicklungsmodus aktivieren: Führen Sie im Terminal Folgendes aus: DevToolsSecurity -enable


Durch einfaches Ausführen des Befehls 'DevToolsSecurity' wird dies standardmäßig aktiviert. Das Bestehen eines Argumentes ist nicht erforderlich
Vinayak,

Funktioniert nicht mit Eclipse CDT mit GDB-Debugger. Developer mode is already enabled.
Danijel

12

Laut Zev Eisenbergs Antwort funktionierte die Neuinstallation von Xcode 4.2.1. Es ist jedoch möglicherweise einfacher, die /etc/authorizationDatei mit dem folgenden Unterschied zu patchen .

        <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>

1
Ich hatte das Gleiche getan wie oben. Das Problem ist jetzt, dass ich kein Internet-WLAN bekommen kann. Ich bin mir nicht sicher, wie das passiert.
Nareshkumar

1
Ich habe DevSecurityTools ausprobiert und mich der _developer-Gruppe und diesen Änderungen hinzugefügt. Ich werde immer noch aufgefordert, Zugriff zu gewähren. Bisher konnte ich nichts finden, was die Eingabeaufforderung entfernt.
Drekka

1
Das Ändern von system.privilege.taskport durch Ausführen führte dazu, security authorizationdb write system.privilege.taskport allowdass mein Passwort zum Verschwinden aufgefordert wurde
Jin

9

Die Neuinstallation von Xcode 4.2.1 nach dem Upgrade auf 10.7.3 scheint das Problem für mich behoben zu haben.


Wir müssen dies noch einmal tun, wenn entweder Mac OS 10.8 oder iOS 5.1 gestartet wird. Es heißt, sie machen die Xcode-App zu einer tatsächlichen .app, um die Aktualisierung über den App Store zu vereinfachen.
Ivan Karpan

Xcode 4.3 wird bereits auf diese Weise ausgeliefert. Ich habe dieses Passwortproblem seit der Installation nicht mehr gehabt.
Zev Eisenberg

9

Ich habe die Regel für geändert system.privilege.taskportund die Warnung wird nicht mehr angezeigt.

  1. Öffnen Sie die Datei /etc/authorization.
  2. Finde die Regel system.privilege.taskport. <key>class</key>Wechseln Sie unter der Zeile <string>rule</string>zu<string>allow</string>

Ein Diff zu posten ist etwas schöner.
Heath Borders

Ich habe alle anderen Vorschläge ausprobiert und dies ist der einzige, der funktioniert hat. Vielen Dank.
Drekka

Dies könnte funktionieren, aber es könnte auch eine Sicherheitslücke in Ihrer Sandbox öffnen. Ich bin ein bisschen vorsichtig.
n13

Vielen Dank! Aber / etc / authorisation ist auf den Außenseitern veraltet. Wissen Sie, was ich jetzt verwenden soll?
Slabko

1
Wie ich oben kommentiert habe, funktioniert es auch durch Ausführen security authorizationdb write system.privilege.taskport allowin der Befehlszeile.
Jin

5

Ich hatte das gleiche Problem mit meinem Mac 10.12.5 & Xcode9 Führen Sie diesen Befehl aus:

sudo security authorizationdb write system.privilege.taskport allow 

Geben Sie dann Ihr Passwort ein. Überprüfen Sie, ob Sie weiterhin dazu aufgefordert werden. Viel Glück..


Dies half bei Eclipse CDT. Vielen Dank.
Danijel

0

In der Datei / etc / authorisation wurde etwas geändert. Ich habe einen Lion ohne Version 10.7.3 und er hat den folgenden Code

Zeilen 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>

Nach dem Update enthält die Datei viele Änderungen aufgrund der unterstützten neuen Sprache, aber die Zeilen, die der Debugging-Autorisierung entsprechen, unterscheiden sich von den oben in gezeigten Zeilen

Zeilen 7675-7676

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

Ich kann diese Unterschiede nicht auf meine 10.7.3 Lion-Installation anwenden, da es sich um eine Produktionsmaschine handelt und ich nicht riskieren kann, sie zu beschädigen

Ich habe alle notwendigen Erlaubnis, wie aus dem Befehl hervorgeht 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)

0

Ich habe gerade das Debuggen in (Bearbeitungsschema) deaktiviert -> Deaktivieren Sie die ausführbare Debug-Datei. Aber ich mache auch mein gesamtes Debugging auf einer anderen Konsole. Wenn Sie also den Debugger entwickeln und benötigen, hilft das nichts. Ich habe dieses Problem nur mit einer alten Version von Xcode 8.2.1, da ich den Code auf einem alten Mac mit El Capitan ausführe.

Neuere Mac- und Xcode-Version 10 scheint dieses Problem nicht zu haben.


-3

Kein Code erforderlich. xcode muss nicht neu installiert werden. Führen Sie die folgenden Schritte aus:

1. Xcode schließen.

2. Öffnen Sie den Schlüsselbundzugriff.

3. Doppelklicken Sie auf Ihren Schlüsselbund (das Schlüsselsymbol, das aus keychain.p12 erstellt wird).

4.Zum Zugriff auf das Bedienfeld gehen (Name möglicherweise nicht richtig)

5. Aktivieren Sie alle App-Zugriff darauf.

6. speichern.

7. Führen Sie Ihr Xcode-Projekt aus.

8. es funktioniert gut.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.