Zatrzymaj alert „dostęp do narzędzi programistycznych musi przejąć kontrolę nad innym procesem, aby debugowanie było kontynuowane”


126

Niedawno zaktualizowałem do 10.7.3, a gdy próbuję debugować mój projekt iOS w symulatorze po raz pierwszy po zalogowaniu, pojawia się monit o następujące dwa alerty:

Program Developer Tools Access musi przejąć kontrolę nad innym procesem, aby debugowanie było kontynuowane.  Wpisz swoje hasło, aby to umożliwić.

gdb-i386-apple-darwin musi przejąć kontrolę nad innym procesem, aby debugowanie mogło być kontynuowane.  Wpisz swoje hasło, aby to umożliwić.

Mój użytkownik jest administratorem. Nigdy wcześniej nie widziałem tych alertów. Jak mam ich zatrzymać?

EDYTOWAĆ

Sprawdziłem, że jestem członkiem _developergrupy używającej id -a.


3
Uważam, że musisz dodać siebie do _developergrupy w ten sposób: stackoverflow.com/questions/1837889/… ale jeśli już jesteś częścią _developergrupy (tak jak ja), to nie jestem pewien, co się zmieniło. Wiem, że /etc/authorizationplik zmienił się w 10.7.3, a kilka testów pokazuje, że mogę wyeliminować niektóre monity, edytując je tak, aby zawsze allowdebugować, ale przy domyślnych regułach wydaje się, że nie zdaje _developertestu grupowego. :( Zwracam uwagę na to, co znalazłem, aby ktoś inny mógł znaleźć więcej szczegółów i lepiej zrozumieć, co się zepsuło.
Cyberfox,

3
lame, że to było zamknięte.
Walrus the Cat

Nie wiem, dlaczego było to zbyt zlokalizowane; jest to duplikat pytania (z odpowiedzią) znalezionego tutaj: stackoverflow.com/a/11416025/2063546
Ian

Zapytano o to najpierw. Drugi to duplikat.
Heath Borders

Odpowiedzi:


201

Jest na to znacznie prostsze rozwiązanie. Spróbuj uruchomić następujące polecenie:

sudo /usr/sbin/DevToolsSecurity --enable

Dziękuję Ci! To jest świetne. Strona DevToolsSecuritypodręcznika wyjaśnia dokładnie, co się dzieje.
zmccord

12
Pracowało dla mnie, ale dlaczego do cholery Apple dodało tę barierę? Uaktualniasz z działającej wersji XCode i od razu widzisz, że masz do Google ich dziwne komunikaty o błędach, próbując dowiedzieć się, jak nadal używać XCode. Okropna obsługa.
Mike Gledhill

Pracował dla mnie jak urok. Wielkie dzięki!
fmquaglia,

12
Dla mnie też nie działa:Developer mode is already enabled.
Rok

To zadziałało dla mnie z Xcode 8 na iMacu z agentem TeamCity w systemie Mac OS Sierra.
Ben Thomas

18

włącz tryb dewelopera: W terminalu uruchom to: DevToolsSecurity -enable


Samo uruchomienie polecenia „DevToolsSecurity” włącza ją domyślnie. Przekazywanie argumentu włączającego nie jest wymagane
Vinayak

Nie działa z Eclipse CDT z debugerem GDB. Developer mode is already enabled.
Danijel

12

Odpowiedź Per Zev Eisenberg, ponowna instalacja Xcode 4.2.1 zadziałała. Jednak może być łatwiej po prostu załatać /etc/authorizationplik z następującą różnicą.

        <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
Zrobiłem to samo, co powyżej. Problem polega na tym, że nie mogę uzyskać dostępu do bezprzewodowego internetu. Nie jestem pewien, jak to się dzieje.
Nareshkumar

1
Wypróbowałem DevSecurityTools, dodając siebie do grupy _developer i tych modyfikacji. Nadal pojawia się monit o udzielenie dostępu. Do tej pory nie udało mi się znaleźć niczego, co usuwa monit.
drekka

1
Zmiana system.privilege.taskport przez wykonanie security authorizationdb write system.privilege.taskport allowsprawiła, że ​​moje monity o hasło zniknęły
Jin

9

Wydaje się, że ponowna instalacja Xcode 4.2.1 po aktualizacji do 10.7.3 rozwiązała problem.


Będziemy musieli to zrobić jeszcze raz, gdy uruchomimy system Mac OS 10.8 lub iOS 5.1. Mówi się, że sprawiają, że aplikacja Xcode jest rzeczywistą aplikacją, która ułatwia aktualizację za pośrednictwem App Store.
Ivan Karpan

Xcode 4.3 jest już dostarczany w ten sposób. Nie miałem tego problemu z hasłem od czasu jego zainstalowania.
Zev Eisenberg,

9

Zmodyfikowałem regułę dla system.privilege.taskporti alert już się nie pojawia.

  1. Otwórz plik /etc/authorization.
  2. Znajdź regułę system.privilege.taskport. Pod linią <key>class</key>zmień <string>rule</string>na<string>allow</string>

Publikowanie różnicy jest trochę przyjemniejsze.
Heath Borders

Wypróbowałem wszystkie inne sugestie i jest to jedyna, która zadziałała. Dzięki.
drekka

To może zadziałać, ale może również otworzyć lukę w zabezpieczeniach w piaskownicy. Jestem trochę ostrożny.
n13

Dzięki! Ale / etc / authoring jest przestarzały w wersjach Mavericks. Czy wiesz, czego mam teraz użyć?
Slabko

1
Jak skomentowałem powyżej, działa również poprzez wykonanie security authorizationdb write system.privilege.taskport alloww wierszu poleceń.
Jin

5

Miałem ten sam problem z moim komputerem Mac 10.12.5 i Xcode9 Uruchom to polecenie:

sudo security authorizationdb write system.privilege.taskport allow 

Następnie wprowadź swoje hasło. Sprawdź, czy nadal wyświetla monit. Powodzenia..


Pomogło to w Eclipse CDT. Dzięki.
Danijel

0

Coś zostało zmodyfikowane w pliku / etc / autoryzacja, mam Lion bez wersji 10.7.3 i ma następujący kod

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

Po aktualizacji plik zawiera wiele modyfikacji ze względu na nowy obsługiwany język, ale wiersze odpowiadające autoryzacji debugowania różnią się od wierszy pokazanych powyżej w

Linie 7675-7676

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

Nie mogę zastosować tych różnic do mojej instalacji Lion 10.7.3, ponieważ jest to maszyna produkcyjna i nie mogę ryzykować jej uszkodzenia

Wszyscy potrzebuję łatwego pozwolenia, jak pokazano z polecenia 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

Właśnie wyłączyłem debugowanie w (schemat edycji) -> odznacz plik wykonywalny debugowania. Ale wszystkie moje debugowanie wykonuję również na innej konsoli, więc jeśli programujesz i potrzebujesz debugera, to nie pomoże. Mam ten problem tylko ze starą wersją Xcode 8.2.1, ponieważ uruchamiam kod na starym komputerze Mac przy użyciu El Capitan.

Wydaje się, że nowszy Mac i Xcode w wersji 10 nie mają tego problemu.


-3

nie potrzebujesz kodu. nie ma potrzeby ponownej instalacji xcode. Wykonaj następujące kroki:

1. zamknij xcode.

2. otwarty dostęp do pęku kluczy.

3. dwukrotnie kliknij swój pęku kluczy (ikona klucza, która tworzy z pęku kluczy.p12)

4. przejdź do panelu sterowania (nazwa może być nieprawidłowa)

5. włącz dostęp do wszystkich aplikacji.

6. zapisać.

7. uruchom projekt Xcode.

8. działa dobrze.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.