Arrêter l'alerte «L'accès aux outils de développement doit prendre le contrôle d'un autre processus de débogage pour continuer»

124

J'ai récemment mis à niveau vers 10.7.3, et lorsque j'essaie de déboguer mon projet iOS dans le simulateur pour la première fois après la connexion, je suis invité avec les deux alertes suivantes:

Developer Tools Access doit prendre le contrôle d'un autre processus pour que le débogage se poursuive.  Tapez votre mot de passe pour autoriser cela.

gdb-i386-apple-darwin doit prendre le contrôle d'un autre processus pour que le débogage se poursuive.  Tapez votre mot de passe pour autoriser cela.

Mon utilisateur est un utilisateur administrateur. Je n'ai jamais vu ces alertes auparavant. Comment les faire arrêter?

ÉDITER

J'ai vérifié que je suis membre du _developergroupe utilisant id -a.

Frontières de la santé
la source
3
Je crois que vous devez vous ajouter au _developergroupe comme ceci: stackoverflow.com/questions/1837889/... mais si vous faites déjà partie du _developergroupe (comme je le suis), je ne suis pas sûr de ce qui a changé. Je sais que le /etc/authorizationfichier a changé dans 10.7.3, et quelques tests montrent que je peux éliminer certaines des invites en les modifiant pour toujours allowdéboguer, mais avec les règles par défaut, il semble échouer au _developertest de groupe. :( Je note ce que j'ai trouvé pour que quelqu'un d'autre puisse déterrer plus de détails et donner plus de sens à ce qui a éclaté.
Cyberfox
3
nul que cela était fermé.
Walrus the Cat
Je ne sais pas pourquoi c'était trop localisé; c'est un double de la question (avec réponse) trouvée ici: stackoverflow.com/a/11416025/2063546
Ian
Cela a été demandé en premier. L'autre est le double.
Heath Borders

Réponses:

199

Il existe une solution beaucoup plus simple pour cela. Essayez d'exécuter la commande suivante:

sudo /usr/sbin/DevToolsSecurity --enable
Kenster
la source
Je vous remercie! C'est bien. La page de manuel de DevToolsSecurityexplique exactement ce qui se passe.
zmccord
12
Cela a fonctionné pour moi, mais pourquoi diable Apple a-t-il ajouté cette barrière? Vous effectuez une mise à niveau à partir d'une version fonctionnelle de XCode et vous vous retrouvez immédiatement à devoir rechercher sur Google leurs étranges messages d'erreur, en essayant de savoir comment continuer à utiliser XCode. Service horrible.
Mike Gledhill
A travaillé pour moi comme un charme. Merci beaucoup!
fmquaglia le
12
Cela n'a pas fonctionné pour moi non plus:Developer mode is already enabled.
Yar
Cela a fonctionné pour moi avec Xcode 8 sur un iMac exécutant un agent TeamCity sur Mac OS Sierra.
Ben Thomas
18

activer le mode de développement: dans le terminal, exécutez ceci: DevToolsSecurity -enable

omxian
la source
Le simple fait d'exécuter la commande 'DevToolsSecurity' l'active par défaut. Passer l'argument -enable n'est pas requis
Vinayak
Ne fonctionne pas avec Eclipse CDT avec le débogueur GDB. Developer mode is already enabled.
Danijel le
12

Selon la réponse de Zev Eisenberg, la réinstallation de Xcode 4.2.1 a fonctionné. Cependant, il peut être plus facile de simplement patcher le /etc/authorizationfichier avec le diff suivant.

        <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>
Frontières de la santé
la source
1
J'avais fait la même chose que ci-dessus. Le problème maintenant est que je ne parviens pas à accéder à Internet en wifi. Je ne sais pas comment cela se passe.
Nareshkumar
1
J'ai essayé DevSecurityTools, en m'ajoutant au groupe _developer et à ces modifications. Je suis toujours invité à donner accès. Jusqu'à présent, je n'ai rien trouvé qui supprime l'invite.
drekka
1
La modification de system.privilege.taskport en exécutant security authorizationdb write system.privilege.taskport allowmon mot de passe a fait disparaître les invites de mot de passe
Jin
9

La réinstallation de Xcode 4.2.1 après la mise à niveau vers 10.7.3 semble avoir résolu le problème pour moi.

Zev Eisenberg
la source
Nous devrons le faire une fois de plus lors du lancement de Mac OS 10.8 ou iOS 5.1. Word est qu'ils font de l'application Xcode un véritable .app pour faciliter la mise à jour via l'App Store.
Ivan Karpan
Xcode 4.3 est déjà livré de cette manière. Je n'ai pas eu ce problème de mot de passe depuis son installation.
Zev Eisenberg
9

J'ai modifié la règle pour system.privilege.taskportet l'alerte ne s'affiche plus.

  1. Ouvrez le fichier /etc/authorization.
  2. Trouvez la règle system.privilege.taskport. Sous la ligne <key>class</key>, changez <string>rule</string>pour<string>allow</string>
Emilie
la source
Poster un diff est un peu plus agréable.
Heath Borders
J'ai essayé toutes les autres suggestions et c'est la seule qui a fonctionné. Merci.
drekka
Cela peut fonctionner, mais cela peut également ouvrir une faille de sécurité dans votre bac à sable. Je suis un peu méfiant.
n13
Merci! Mais / etc / authorisation est obsolète sur les non-conformistes. Savez-vous ce que je dois utiliser maintenant?
Slabko
1
Comme je l'ai commenté ci-dessus, cela fonctionne également en s'exécutant security authorizationdb write system.privilege.taskport allowen ligne de commande.
Jin
5

J'ai eu le même problème avec mon mac 10.12.5 et Xcode9 Exécutez cette commande:

sudo security authorizationdb write system.privilege.taskport allow 

Entrez ensuite votre mot de passe. Vérifiez s'il vous demande toujours. Bonne chance..

Aks
la source
Cela a aidé avec Eclipse CDT. Merci.
Danijel le
0

Quelque chose a été modifié sur le fichier / etc / authorisation, j'ai un Lion sans v10.7.3 et il a le code suivant

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

Après la mise à jour, le fichier contient de nombreuses modifications en raison de la nouvelle langue prise en charge mais les lignes correspondant à l'autorisation de débogage diffèrent des lignes indiquées ci-dessus dans

Lignes 7675-7676

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

Je ne peux pas appliquer ces différences à mon installation 10.7.3 Lion car c'est une machine de production et je ne peux pas risquer de la corrompre

J'ai toutes les autorisations nécessaires comme indiqué par la commande 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)
dafi
la source
0

Je viens de désactiver le débogage dans (modifier le schéma) -> décochez l'exécutable de débogage. Mais je fais aussi tout mon débogage sur une autre console, donc si vous développez et avez besoin du débogueur, cela n'aidera pas. Je n'ai ce problème qu'avec une ancienne version de Xcode 8.2.1 car j'exécute le code sur un ancien Mac en utilisant El Capitan.

La version 10 plus récente de mac et de Xcode ne semble pas avoir ce problème.

Tim Johnsen
la source
-3

pas besoin de code. pas besoin de réinstaller xcode. Suivez ces étapes:

1. fermez xcode.

2. ouvrez l'accès au trousseau.

3. double-cliquez sur votre trousseau (l'icône de clé qui crée à partir de keychain.p12)

4. aller au panneau de contrôle (le nom n'est peut-être pas correct)

5. activez l'accès à toutes les applications.

6. enregistrer.

7. exécutez votre projet xcode.

8. cela fonctionne bien.

zszen
la source