Ich verwende ein Standardbenutzerkonto für meine täglichen Aufgaben unter Mac OS. Seit dem Upgrade auf Snow Leopard werde ich gebeten, Folgendes zu tun, wenn ein Programm in Xcode ausgeführt wird:
"Geben Sie den Namen und das Kennwort eines Benutzers in die Gruppe 'Developer Tools' ein, damit Developer Tools Access Änderungen vornehmen kann."
Obwohl ich den Benutzernamen / das Passwort des Administrators kenne, ist dies ärgerlich (obwohl nur einmal pro Login erforderlich).
Der Zugriff auf die Entwicklertools fordert Rechte für "system.privilege.taskport.debug" von der Anwendung gdb-i386-apple-darwin an.
Was ist der beste Weg, um dies zu umgehen?
quelle
-u <name-of-account-with-root-access>
die Optionen erweitert habe. Also war mein volles Kommandodscl -u <root-account> . append /Groups/_developer GroupMembership <my-account>
Endlich konnte ich es mit
DevToolsSecurity -enable
Terminal loswerden . Danke an @joar_at_work !Zu Ihrer Information : Ich bin auf Xcode 4.3 und habe beim ersten Start die Deaktivierungstaste gedrückt. Fragen Sie nicht warum, nehmen Sie einfach an, mein Hund hat mich dazu gebracht :)
quelle
-enable
durch-disable
und das funktioniert wie erwartet!dscl -u <root-account> . append /Groups/_developer GroupMembership <my-account>
quelle
Sie sollten sich der Gruppe Entwicklertools hinzufügen. Die allgemeine Syntax zum Hinzufügen eines Benutzers zu einer Gruppe in OS X lautet wie folgt:
Ich glaube, der Name für die DevTools-Gruppe ist
_developer
.quelle
Die Lösung von Ned Deily funktioniert einwandfrei, vorausgesetzt, Ihr Benutzer darf
sudo
.Wenn dies nicht der
su
Fall ist, können Sie ein Administratorkonto einrichten und dann sein Konto verwendendscl . append /Groups/_developer GroupMembership $user
, wobei $ user der Benutzername ist.Ich dachte jedoch fälschlicherweise, dass dies nicht der Fall ist, weil ich den Namen des Benutzers im Befehl falsch eingegeben habe und es stillschweigend fehlschlägt.
Nachdem Sie diesen Befehl eingegeben haben, sollten Sie ihn daher überprüfen. Dadurch wird überprüft, ob sich $ user in der Gruppe $ befindet, wobei die Variablen jeweils den Benutzernamen und den Gruppennamen darstellen.
Dieser Befehl druckt entweder die Nachricht
user is not a member of the group
oderuser is a member of the group
.quelle
dscl . append /Groups/_developer GroupMembership username
dsmemberutil checkmembership -U "username goes here" -G "group goes here"
Antwort von @Stacy Simpson vorgeschlagen:
Wir haben Probleme mit dem in diesen Threads beschriebenen Problem, und keine der Lösungen scheint zu funktionieren:
Da ich neu bei SO bin, kann ich in keinem Thread posten. (Der erste ist tatsächlich geschlossen und ich bin mit den Lokalisierungsgründen nicht einverstanden ...)
Wie auch immer, wir haben mit AppleScript eine Problemumgehung erstellt, an der die Leute interessiert sein könnten. Das folgende Skript sollte vor dem Starten Ihres automatisierten Tests asynchron ausgeführt werden:
Hier ist das Skript:
Wahrscheinlich nicht sehr sicher, aber es ist die beste Lösung, die wir uns ausgedacht haben, um Tests ohne Benutzereingriff ausführen zu können.
Hoffentlich kann ich genug Punkte bekommen, um die Antwort zu posten. oder jemand kann diese Frage aufheben. Grüße.
quelle
Hier ist eine bessere Lösung von
Mac OS X, die beim Kompilieren des Projekts einen Systemschlüsselbund verwenden möchte
quelle
Für mich fand ich den Vorschlag im folgenden Thread hilfreich:
Stop "Der Zugriff auf Entwicklertools muss die Kontrolle über einen anderen Prozess übernehmen, damit das Debuggen fortgesetzt werden kann"
Es wurde vorgeschlagen, den folgenden Befehl in der Terminalanwendung auszuführen:
quelle
Ich bin auf Snow Leopard und dieser hat bei mir nicht ganz funktioniert. Aber das folgende Verfahren hat funktioniert:
quelle
Nachdem Sie ausgeführt haben:
Gemäß der obigen Antwort werden Sie möglicherweise weiterhin aufgefordert, Ihr eigenes Passwort einzugeben:
Wir benötigen die Berechtigung eines Administrators, um den Debugger auszuführen. Dies geschieht nur einmal pro Anmeldesitzung.
Was es wirklich bedeutet, ist jeder _developer- Gruppenmitgliedsbenutzer, so dass hier nur Ihr Nicht-Administrator-Benutzer / Passwort funktioniert. Um es jedoch vollständig zu entfernen (keine Eingabeaufforderungen nach einem Neustart), müssen Sie auch Folgendes ausführen:
(Wenn Sie es mit sudo als Administrator / als Root ausführen, wird es so ausgeführt, dass Sie es ohne GUI-Passwortabfrage aus der Ferne ausführen können.)
quelle