Używam standardowego konta użytkownika do codziennych zadań w systemie Mac OS. Od czasu aktualizacji do Snow Leopard jestem proszony o wykonanie następujących czynności, gdy program jest uruchamiany z poziomu Xcode:
„Wpisz nazwę i hasło użytkownika w grupie„ Narzędzia dla programistów ”, aby umożliwić dostęp narzędziom programistycznym do wprowadzania zmian”
Chociaż znam nazwę użytkownika / hasło administratora, jest to denerwujące (choć wymagane tylko raz na logowanie).
Dostęp do narzędzi programistycznych prosi o uprawnienia do „system.privilege.taskport.debug” z aplikacji gdb-i386-apple-darwin.
Jaki jest najlepszy sposób obejścia tego?
źródło
-u <name-of-account-with-root-access>
do opcji. Tak więc moje pełne polecenie brzmiałodscl -u <root-account> . append /Groups/_developer GroupMembership <my-account>
Wreszcie udało mi się go pozbyć za pomocą
DevToolsSecurity -enable
terminala. Dzięki @joar_at_work !FYI : Jestem na Xcode 4.3 i nacisnąłem przycisk wyłączania , gdy został uruchomiony po raz pierwszy, nie pytaj dlaczego, po prostu załóż, że mój pies mnie do tego zmusił :)
źródło
-enable
z-disable
i że działa zgodnie z oczekiwaniami!dscl -u <root-account> . append /Groups/_developer GroupMembership <my-account>
źródło
Należy dodać się do grupy narzędzi deweloperskich. Ogólna składnia dodawania użytkownika do grupy w OS X jest następująca:
Uważam, że nazwa grupy DevTools to
_developer
.źródło
Rozwiązanie Ned Deily działa doskonale, pod warunkiem, że użytkownik ma na to pozwolenie
sudo
.Jeśli nie, możesz zalogować się na
su
konto administratora, a następnie użyć jegodscl . append /Groups/_developer GroupMembership $user
, gdzie $ user to nazwa użytkownika.Jednak błędnie pomyślałem, że tak nie jest, ponieważ błędnie wpisałem nazwę użytkownika w poleceniu i po cichu zawodzi.
Dlatego po wpisaniu tego polecenia należy je zweryfikować. Spowoduje to sprawdzenie, czy $ user jest w $ group, gdzie zmienne reprezentują odpowiednio nazwę użytkownika i nazwę grupy.
To polecenie wydrukuje wiadomość
user is not a member of the group
lubuser is a member of the group
.źródło
dscl . append /Groups/_developer GroupMembership username
idsmemberutil checkmembership -U "username goes here" -G "group goes here"
Odpowiedź sugerowana przez @Stacy Simpson:
Borykamy się z problemem opisanym w tych wątkach i żadna z rozwiązań nie wydaje się działać:
Ponieważ jestem nowy w SO, nie mogę pisać w żadnym wątku. (Pierwsza z nich jest właściwie zamknięta i nie zgadzam się z rozumowaniem lokalizacji ...)
W każdym razie stworzyliśmy obejście przy użyciu AppleScript, które mogą być interesujące dla użytkowników. Poniższy skrypt powinien zostać wykonany asynchronicznie przed uruchomieniem testu automatycznego:
Oto skrypt:
Prawdopodobnie niezbyt bezpieczne, ale jest to najlepsze obejście, jakie wymyśliliśmy, aby umożliwić uruchamianie testów bez konieczności interwencji użytkownika.
Mam nadzieję, że zdobędę wystarczającą liczbę punktów, aby opublikować odpowiedź; lub ktoś może wyłączyć ochronę tego pytania. Pozdrowienia.
źródło
Oto lepsze rozwiązanie z
Mac OS X, które chce użyć pęku kluczy systemowych podczas kompilacji projektu
źródło
U mnie pomogła sugestia w następującym wątku:
Zatrzymaj alert „dostęp do narzędzi programistycznych musi przejąć kontrolę nad innym procesem debugowania, aby kontynuować”
Zasugerował uruchomienie następującego polecenia w aplikacji Terminal :
źródło
Jestem na Snow Leopardzie i ten nie do końca mi pasował. Ale następująca procedura zadziałała:
źródło
Po biegu:
zgodnie z powyższą odpowiedzią nadal możesz zostać poproszony o wprowadzenie własnego hasła:
Potrzebujemy autoryzacji od administratora, aby uruchomić debugger. Będzie to miało miejsce tylko raz na sesję logowania.
Co to naprawdę oznacza, to każdy członek grupy _developer, więc tylko twój użytkownik / hasło niebędące administratorem będzie tutaj działał, ale aby się go całkowicie pozbyć (bez monitów po ponownym uruchomieniu), musisz również uruchomić:
(uruchomienie go z sudo jako użytkownik admin / jako root sprawi, że będzie można to zrobić zdalnie bez pytania o hasło gui)
źródło