Остановить предупреждение «Для продолжения отладки необходим доступ к инструментам разработчика, чтобы взять под контроль другой процесс»

126

Я недавно обновился до 10.7.3, и когда я пытаюсь отладить свой проект iOS в симуляторе в первый раз после входа в систему, мне предлагается два следующих предупреждения:

Для продолжения отладки программе Developer Tools Access необходимо взять под контроль другой процесс.  Введите свой пароль, чтобы разрешить это.

Для продолжения отладки gdb-i386-apple-darwin необходимо взять под контроль другой процесс.  Введите свой пароль, чтобы разрешить это.

Мой пользователь является администратором. Я никогда раньше не видел этих предупреждений. Как мне заставить их остановиться?

РЕДАКТИРОВАТЬ

Я подтвердил, что являюсь участником _developerгруппы, использующей id -a.

Heath Borders
источник
3
Я считаю, что вам нужно добавить себя в _developerгруппу следующим образом: stackoverflow.com/questions/1837889/… но если вы уже являетесь частью _developerгруппы (как и я), то я не уверен, что изменилось. Я знаю, что /etc/authorizationфайл был изменен в 10.7.3, и несколько тестов показывают, что я могу удалить некоторые подсказки, отредактировав их, чтобы всегда allowотлаживать, но с правилами по умолчанию он, похоже, не прошел _developerгрупповой тест. :( Я отмечаю то, что нашел, чтобы кто-то другой мог раскопать более подробную информацию и лучше понять, что сломалось.
Cyberfox
3
хромой, что это было закрыто.
Walrus the Cat
Не уверен, почему это было слишком локализовано; это дубликат вопроса (с ответом), найденный здесь: stackoverflow.com/a/11416025/2063546
Ян
Об этом спросили в первую очередь. Другой - дубликат.
Хит Бордерс

Ответы:

201

Для этого есть гораздо более простое решение. Попробуйте выполнить следующую команду:

sudo /usr/sbin/DevToolsSecurity --enable
kenster
источник
Спасибо! Это круто. Страница DevToolsSecurityруководства для точно объясняет, что происходит.
zmccord
12
У меня сработало, но какого черта Apple добавила этот барьер? Вы обновляете рабочую версию XCode и сразу же обнаруживаете, что вам нужно искать в Google их странные сообщения об ошибках, пытаясь выяснить, как продолжить использование XCode. Ужасный сервис.
Майк Гледхилл
Сработало для меня как шарм. Большое спасибо!
fmquaglia
12
У меня тоже не вышло:Developer mode is already enabled.
Яр
У меня это сработало с Xcode 8 на iMac с агентом TeamCity в Mac OS Sierra.
Бен Томас
18

включить режим разработчика: в терминале запустите это: DevToolsSecurity -enable

omxian
источник
Просто запуск команды DevToolsSecurity включает ее по умолчанию. Аргумент
Винаяк
Не работает с Eclipse CDT с отладчиком GDB. Developer mode is already enabled.
Даниел
12

Согласно ответу Зева Айзенберга, переустановка Xcode 4.2.1 сработала. Однако может быть проще просто пропатчить /etc/authorizationфайл следующей 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>
Heath Borders
источник
1
Я сделал то же самое, что и выше. Проблема в том, что я не могу подключиться к интернету через Wi-Fi. Я не понимаю, как это происходит.
Нарешкумар
1
Я попробовал DevSecurityTools, добавился в группу _developer и внес эти изменения. Мне все еще предлагают предоставить доступ. Пока что мне не удалось найти ничего, что удаляет подсказку.
drekka
1
Изменение system.privilege.taskport путем выполнения security authorizationdb write system.privilege.taskport allowзаставило мои запросы на пароль исчезнуть
Джин
9

Повторная установка Xcode 4.2.1 после обновления до 10.7.3, похоже, устранила это для меня.

Зев Айзенберг
источник
Нам придется сделать это еще раз при запуске Mac OS 10.8 или iOS 5.1. Говорят, они делают приложение Xcode актуальным .app для простоты обновления через App Store.
Иван Карпан
Xcode 4.3 уже поставляется таким образом. У меня не было этой проблемы с паролем с момента ее установки.
Зев Айзенберг
9

Я изменил правило, system.privilege.taskportи предупреждение больше не появляется.

  1. Откройте файл /etc/authorization.
  2. Найдите правило system.privilege.taskport. Под линией <key>class</key>измените <string>rule</string>на<string>allow</string>
Эмили
источник
Публикация разницы немного приятнее.
Heath Borders
Я пробовал все другие предложения, и это единственное, что сработало. Спасибо.
drekka
Это может сработать, но также может открыть брешь в безопасности в вашей песочнице. Я немного насторожен.
n13
Спасибо! Но / etc / authorization устарел на mavericks. Вы знаете, что мне теперь использовать?
Slabko
1
Как я прокомментировал выше, он также работает, выполняясь security authorizationdb write system.privilege.taskport allowв командной строке.
Джин
5

У меня была такая же проблема с моим Mac 10.12.5 и Xcode9. Выполните эту команду:

sudo security authorizationdb write system.privilege.taskport allow 

Затем введите свой пароль .. Проверьте, все ли он вам подсказывает. Удачи..

Акс
источник
Это помогло с Eclipse CDT. Спасибо.
Danijel
0

Что-то было изменено в файле / etc / authorization, у меня Lion без v10.7.3, и он имеет следующий код

Строки 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>

После обновления файл содержит много изменений из-за поддержки нового языка, но строки, соответствующие авторизации отладки, отличаются от строк, показанных выше в

Строки 7675-7676

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

Я не могу применить эти различия к моей установке 10.7.3 Lion, потому что это производственная машина, и я не могу рисковать ее испортить.

У меня все необходимое разрешение, как показано в команде 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

Я просто отключил отладку в (схема редактирования) -> снимите флажок исполняемого файла отладки. Но я также выполняю всю отладку на другой консоли, поэтому, если вы разрабатываете и нуждаетесь в отладчике, это не поможет. У меня есть эта проблема только со старой версией Xcode 8.2.1, так как я запускаю код на старом Mac с использованием El Capitan.

Более новые Mac и Xcode версии 10, похоже, не имеют этой проблемы.

Тим Джонсен
источник
-3

код не нужен. нет необходимости переустанавливать xcode. Сделайте следующие шаги:

1. закрыть xcode.

2. открыть доступ к Связке ключей.

3. дважды щелкните связку ключей (значок ключа, созданный из keychain.p12)

4. перейдите в панель управления доступом (имя может быть неправильным)

5. разрешите доступ для всех приложений.

6.save.

7. запустите свой проект xcode.

8. работает хорошо.

zszen
источник