Frage

Ich verwende ein Standardbenutzerkonto für meine täglichen Aufgaben auf Mac OS. Seit dem Upgrade auf Snow Leopard wird mir gebeten, folgende zu tun, wenn ein Programm aus Xcode ausgeführt wird:

„Geben Sie den Namen und das Kennwort eines Benutzers in der‚Developer Tools‘Gruppe Developer Tools zugreifen, um Änderungen zu ermöglichen“

Während ich das Admin-Benutzername / Passwort kennen, das ärgerlich ist (wenn auch nur einmal benötigt pro Anmeldung).

Der Entwickler-Tools Zugriff für Rechte an "system.privilege.taskport.debug" aus der Anwendung GDB-i386-apple-darwin zu stellen.

Was ist der beste Weg, um dies?

War es hilfreich?

Lösung

Sie benötigen eine OS X-Benutzernamen an die _developer Gruppe hinzuzufügen. Sehen Sie sich die Beiträge in für weitere Informationen rel="noreferrer">. Der folgende Befehl sollte es tun:

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

Andere Tipps

Schließlich konnte ich es loszuwerden DevToolsSecurity -enable auf Terminal ab. Dank @joar_at_work !

FYI : Ich bin auf Xcode 4.3 und drückte die Deaktivieren , wenn es zum ersten Mal gestartet, fragt nicht warum, einfach davon ausgehen, mein Hund ich tue es:)

$ dseditgroup -o edit -u <adminusername> -t user -a <developerusername> _developer

Sie sollten sich an den Developer Tools Gruppe hinzufügen. Die allgemeine Syntax für einen Benutzer zu einer Gruppe in OS X Hinzufügen ist wie folgt:

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

Ich glaube, der Name für die DevTools Gruppe ist _developer.

Ned Deily Lösung arbeitet völlig in Ordnung, vorausgesetzt, Ihr Benutzer erlaubt wird, auf sudo.

Wenn er nicht ist, können Sie auf ein Admin-Konto su, dann seine dscl . append /Groups/_developer GroupMembership $user verwenden, wobei $ Benutzer ist der Benutzername.

Aber ich fälschlicherweise dachte, es nicht getan, weil ich in dem Namen des Benutzers in dem Befehl falsch eingegeben und es nicht still.

Deshalb wird nach der Eingabe dieses Befehls, sollten Sie es Korrektor überprüfen. Dies wird überprüfen, ob $ Benutzer in $-Gruppe ist, in der die Variablen repräsentieren jeweils die Benutzername und die Gruppennamen.

dsmemberutil checkmembership -U $user -G $group

Dieser Befehl wird entweder die Meldung user is not a member of the group oder user is a member of the group drucken.

Antwort vorgeschlagen von @Stacy Simpson:

Wir sind mit dem Problem zu kämpfen haben in diesem Threads und keine der Resolutionen beschrieben zu funktionieren scheinen:

Wie ich bin neu zu SO, kann ich nicht in jedem Thread posten. (Die erste wirklich geschlossen ist und ich nicht einverstanden mit der Lokalisierung Argumentation ...)

Wie auch immer, haben wir eine Behelfslösung Apple mit, dass die Leute interessiert sein könnten das Skript unter asynchron vor ausgeführt werden sollte, automatisierten Test starten.

osascript <script name> <password> &

Hier ist das Skript:

on run argv
    # Delay for 10 seconds as this script runs asynchronously to the automation process and is kicked off first.
    delay 10

    # Inspect all running processes
    tell application "System Events"
        set ProcessList to name of every process
        # Determine if authentication is being requested
        if "SecurityAgent" is in ProcessList then
            # Bring this dialogue to the front
            tell application "SecurityAgent" to activate
            # Enter provided password
            keystroke item 1 of argv
            keystroke return
        end if
    end tell
end run

Wahrscheinlich nicht sehr sicher, aber es ist die beste Work-around wir haben kamen mit Tests zu ermöglichen, ohne Benutzereingriff ausgeführt werden.

Hoffentlich kann ich genug Punkte um die Antwort zu veröffentlichen; oder kann jemand diese Frage aufheben. Grüße.

Hier ist eine bessere Lösung
Mac OS X will Systemschlüsselbund verwenden wenn das Projekt Kompilieren

  
      
  1. Öffnen Keychain Access.
  2.   
  3. In der linken oberen Ecke, entriegeln Sie den Schlüsselbund (wenn es gesperrt ist).
  4.   
  5. Wählen Sie den System-Schlüsselbund aus der linken oberen Ecke.
  6.   
  7. Finden Sie Ihr Verteilungszertifikat und klicken Sie auf das Dreiecksymbol.
  8.   
  9. Doppelklicken Sie auf ‚Private Key‘ unter Ihrem Verteilungszertifikat.
  10.   
  11. Im Popup, gehen Sie auf die Registerkarte Zugriffssteuerung.
  12.   
  13. Wählen Sie ‚Lassen Sie alle Anwendungen auf dieses Objekt zuzugreifen‘.
  14.   
  15. Speichern Sie die Änderungen.
  16.   
  17. Schließen Sie alle Fenster.
  18.   
  19. Führen Sie die Anwendung.
  20.   

Ich bin auf Snow Leopard und dieser nicht ganz für mich arbeiten. Aber die folgenden Verfahren gearbeitet:

  1. Erste ein anderes Konto mit Administratorrechten hinzugefügt durch Ankreuzen „Der Benutzer darf diesen Computer verwalten“ unter Accounts, zum Beispiel ein Konto mit Benutzername Test
  2. Gespeichert in den Test Konto
  3. Gestartet Xcode, kompiliert und lief mein iPhone-Projekt. Alles ok, wurden keine Fehler Berechtigungen geworfen Zusammenhang
  4. Abgemeldet der Test Konto
  5. mit einem anderen Konto mit Administratorrechten angemeldet
  6. Nahm die Admin priviliges aus dem Test Konto durch Entfernen der Zecke weg von „Der Benutzer darf auf diesen Computer zu verwalten“ unter Konten
  7. Angemeldete zurück in den Test Konto
  8. das iPhone Projektverzeichnis gelöscht und erneut geprüft, aus dem Repository aus (in meinem Fall SVN)
  9. Gestartet Xcode, zusammengestellt und das Projekt lief. Ich habe keine Fehler auftreten und die App lief gut in den iPhone Simulator.

Nachdem Sie laufen:

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

pro die Antwort oben, können Sie noch Aufforderung erhält in Ihrem eigenen Passwort eingeben:

Wir benötigen die Berechtigung von einem Admin-Benutzer den Debugger auszuführen. Dies geschieht nur einmal pro Login-Sitzung.

Was es wirklich bedeutet, ist jede _developer Gruppenmitglied Benutzer so einfach Ihre Nicht-Admin-Benutzer / Passwort hier funktioniert aber komplett aus, um es loszuwerden (keine Aufforderungen nach einem Neustart) werden Sie auch brauchen auszuführen:

sudo DevToolsSecurity -enable

(läuft es mit sudo als Admin-Benutzer / root es machen, so dass Sie sie aus der Ferne ohne gui Paßwortabfrage tun können)

Für mich fand ich der Vorschlag in folgendem Beitrag geholfen:

Stop „Entwickler Tools zugreifen muss die Kontrolle über einen anderen Prozess zu übernehmen für das Debuggen „alert

, um fortzufahren

Es wird vorgeschlagen den folgenden Befehl ausführen in der Terminal Anwendung:

sudo /usr/sbin/DevToolsSecurity --enable
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top