Interrompi avviso "l'accesso agli strumenti di sviluppo deve assumere il controllo di un altro processo per continuare il debug"


124

Di recente ho eseguito l'aggiornamento alla 10.7.3 e quando provo a eseguire il debug del mio progetto iOS nel simulatore per la prima volta dopo l'accesso, vengono visualizzati i seguenti due avvisi:

Accesso agli strumenti per sviluppatori deve assumere il controllo di un altro processo affinché il debug continui.  Digita la tua password per consentirlo.

gdb-i386-apple-darwin deve assumere il controllo di un altro processo affinché il debug continui.  Digita la tua password per consentirlo.

Il mio utente è un utente amministratore. Non ho mai visto questi avvisi prima. Come posso farli smettere?

MODIFICARE

Ho verificato di essere un membro del _developergruppo che utilizza id -a.


3
Credo che tu debba aggiungerti al _developergruppo in questo modo: stackoverflow.com/questions/1837889/… ma se fai già parte del _developergruppo (come me), allora non sono sicuro di cosa sia cambiato. So che il /etc/authorizationfile è stato modificato nella 10.7.3 e alcuni test mostrano che posso eliminare alcuni dei prompt modificandoli per alloweseguire sempre il debug, ma con le regole predefinite sembra fallire il _developertest di gruppo. :( Sto annotando quello che ho trovato in modo che qualcun altro possa scavare più dettagli e dare più senso a ciò che si è rotto.
Cyberfox

3
zoppo che questo fosse chiuso.
Walrus the Cat

Non sono sicuro del motivo per cui questo era troppo localizzato; è un duplicato della domanda (con risposta) che si trova qui: stackoverflow.com/a/11416025/2063546
Ian

Questo è stato chiesto per primo. L'altro è il duplicato.
Heath Borders

Risposte:


199

C'è una soluzione molto più semplice per questo. Prova a eseguire il seguente comando:

sudo /usr/sbin/DevToolsSecurity --enable

Grazie! Questo è fantastico. La pagina man di DevToolsSecurityspiega esattamente cosa sta succedendo.
zmccord

12
Ha funzionato per me, ma perché diavolo Apple ha aggiunto questa barriera? Esegui l'aggiornamento da una versione funzionante di XCode, e ti ritrovi subito a dover cercare su Google i loro strani messaggi di errore, cercando di scoprire come continuare a utilizzare XCode. Servizio terribile.
Mike Gledhill

Ha funzionato per me come un fascino. Molte grazie!
fmquaglia

12
Non ha funzionato neanche per me:Developer mode is already enabled.
Yar

Questo ha funzionato per me con Xcode 8 su un iMac che esegue un agente TeamCity su Mac OS Sierra.
Ben Thomas

18

abilita la modalità sviluppatore: In Terminale esegui questo: DevToolsSecurity -enable


L'esecuzione del comando "DevToolsSecurity" lo abilita per impostazione predefinita. Non è richiesto un argomento per l'abilitazione del passaggio
Vinayak

Non funziona con Eclipse CDT con debugger GDB. Developer mode is already enabled.
Danijel

12

Secondo la risposta di Zev Eisenberg, reinstallare Xcode 4.2.1 ha funzionato. Tuttavia, potrebbe essere più semplice patchare il /etc/authorizationfile con il seguente diff.

        <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
Avevo fatto la stessa cosa di cui sopra. Il problema ora è che non riesco a ottenere internet wifi. Non sono sicuro di come stia succedendo.
Nareshkumar

1
Ho provato DevSecurityTools, aggiungendomi al gruppo _developer e queste modifiche. Mi viene ancora chiesto di concedere l'accesso. Finora, non sono stato in grado di trovare nulla che rimuova il prompt.
drekka

1
La modifica di system.privilege.taskport eseguendo ha security authorizationdb write system.privilege.taskport allowfatto scomparire le mie richieste di password
Jin

9

La reinstallazione di Xcode 4.2.1 dopo l'aggiornamento a 10.7.3 sembra averlo risolto per me.


Dovremo farlo ancora una volta all'avvio di Mac OS 10.8 o iOS 5.1. Si dice che stiano rendendo l'app Xcode una vera app per un facile aggiornamento tramite App Store.
Ivan Karpan

Xcode 4.3 è già fornito in questo modo. Non ho avuto questo problema con la password da quando l'ho installato.
Zev Eisenberg

9

Ho modificato la regola per system.privilege.taskporte l'avviso non viene più visualizzato.

  1. Apri il file /etc/authorization.
  2. Trova la regola system.privilege.taskport. Sotto la linea <key>class</key>, cambia <string>rule</string>in<string>allow</string>

Pubblicare un diff è un po 'più bello.
Heath Borders

Ho provato tutti gli altri suggerimenti e questo è l'unico che ha funzionato. Grazie.
drekka

Potrebbe funzionare, ma potrebbe anche aprire una falla di sicurezza nella tua sandbox. Sono un po 'diffidente.
n13

Grazie! Ma / etc / permission è deprecato sui mavericks. Sai cosa dovrei usare adesso?
Slabko

1
Come ho commentato sopra, funziona anche eseguendo security authorizationdb write system.privilege.taskport allownella riga di comando.
Jin

5

Ho avuto lo stesso problema con il mio mac 10.12.5 e Xcode9 Esegui questo comando:

sudo security authorizationdb write system.privilege.taskport allow 

Quindi inserisci la tua password .. Controlla se ti viene ancora richiesta. In bocca al lupo..


Ciò ha aiutato con Eclipse CDT. Grazie.
Danijel

0

Qualcosa è stato modificato nel file / etc / permission, ho un Lion senza v10.7.3 e ha il seguente codice

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

Dopo l'aggiornamento il file contiene molte modifiche dovute alla nuova lingua supportata ma le righe corrispondenti all'autorizzazione al debug differiscono dalle righe mostrate sopra in

Linee 7675-7676

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

Non posso applicare queste differenze alla mia installazione Lion 10.7.3 perché è una macchina di produzione e non posso rischiare di corromperla

Ho tutti i permessi necessari come mostrato dal comando 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

Ho appena disattivato il debug in (modifica schema) -> deseleziona eseguibile di debug. Ma eseguo anche tutto il mio debug su un'altra console, quindi se stai sviluppando e hai bisogno del debugger, non sarà di aiuto. Ho questo problema solo con una vecchia versione di Xcode 8.2.1 poiché sto eseguendo il codice su un vecchio Mac usando El Capitan.

Le versioni più recenti di Mac e Xcode 10 non sembrano avere questo problema.


-3

nessun codice necessario. non è necessario reinstallare xcode. Eseguire questi passaggi:

1.chiudi xcode.

2.Aprire l'accesso al portachiavi.

3.Fai doppio clic sul tuo Portachiavi (l'icona della chiave che crea da keychain.p12)

4.Vai al pannello di controllo (il nome potrebbe non essere corretto)

5.abilita l'accesso a tutte le app.

6.save.

7.esegui il tuo progetto xcode.

8.it funziona bene.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.