停止“开发人员工具访问需要控制另一个过程以进行调试以继续”警报


124

我最近升级到10.7.3,并且在登录后首次尝试在模拟器中调试iOS项目时,系统提示以下两个警报:

开发人员工具访问权限需要控制其他过程才能继续进行调试。 输入密码以允许此操作。

gdb-i386-apple-darwin需要控制另一个进程以继续调试。 输入密码以允许此操作。

我的用户是管理员用户。我以前从未见过这些警报。我该如何阻止他们?

编辑

我已验证我是成员_developer利用群id -a


3
我相信您需要_developer像这样将自己添加到该组中:stackoverflow.com/questions/1837889/…但是,如果您已经是该_developer组的一员(就我而言),那么我不确定会发生什么变化。我知道/etc/authorization文件在10.7.3中已更改,一些测试表明我可以通过编辑总是allow调试的提示来消除一些提示,但是使用默认规则,它似乎无法通过_developer组测试。:(我提什么我发现这样别人会挖掘更多的细节,使更多的什么破感。
Cyber​​fox

3
me脚,这是关闭的。
海象猫

不知道为什么这太本地化了;这是在这里发现的问题(带有答案)的重复:stackoverflow.com/a/11416025/2063546
Ian

首先被问到了。另一个是重复项。
Heath Borders 2013年

Answers:


199

有一个更简单的解决方案。尝试运行以下命令:

sudo /usr/sbin/DevToolsSecurity --enable

谢谢!这很棒。手册页DevToolsSecurity准确地说明了正在发生的事情。
zmccord 2012年

12
为我工作,但是为什么苹果要增加这个障碍呢?您从工作版本的XCode升级后,立即发现自己不得不向Google发送他们奇怪的错误消息,试图找出如何继续使用XCode。糟糕的服务。
2013年

像魅力一样为我工作。非常感谢!
fmquaglia 2014年

12
也不为我工作:Developer mode is already enabled.
Yar

这对我在Mac OS Sierra上运行TeamCity代理的iMac上的Xcode 8起作用。
本托马斯

18

启用develoer模式:在终端中运行以下命令:DevToolsSecurity -enable


默认情况下,仅运行“ DevToolsSecurity”命令即可启用它。不需要传递-enable参数
Vinayak

不适用于带有GDB调试器的Eclipse CDT。Developer mode is already enabled.
Danijel

12

根据Zev Eisenberg的回答,重新安装Xcode 4.2.1可以正常工作。但是,/etc/authorization使用以下差异修补文件可能会更容易。

        <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
我做过与上述相同的事情。现在的问题是我无法上网。我不确定这是怎么回事。
Nareshkumar 2012年

1
我尝试过DevSecurityTools,将自己添加到_developer组和这些修改中。仍然提示我授予访问权限。到目前为止,我还没有找到任何可以删除提示的内容。
drekka,2012年

1
通过执行变更system.privilege.taskport security authorizationdb write system.privilege.taskport allow使我的密码提示消失

9

升级到10.7.3后重新安装Xcode 4.2.1似乎已经为我修复了。


当Mac OS 10.8或iOS 5.1启动时,我们将不得不再次这样做。可以肯定的是,他们正在使Xcode应用程序成为实际的.app,以便于通过App Store进行更新。
伊万·卡尔潘

Xcode 4.3已经以这种方式交付。自安装以来,我没有这个密码问题。
Zev Eisenberg 2012年

9

我修改了规则system.privilege.taskport,该警报不再显示。

  1. 打开文件/etc/authorization
  2. 找到规则system.privilege.taskport。在该行下<key>class</key>,更改<string>rule</string><string>allow</string>

发布差异要好一些。
Heath Borders

我尝试了所有其他建议,但这是唯一可行的建议。谢谢。
drekka

这可能有效,但也可能在沙箱中打开一个安全漏洞。我有点警惕。
2012年

谢谢!但是在特立独行者上不赞成使用/ etc / authorization。你知道我现在应该用什么吗?
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上的内容已被修改,我有一个不带v10.7.3的Lion,它具有以下代码

线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

我只是在(编辑方案)->取消选中调试可执行文件中关闭了调试功能。但是我也要在另一个控制台上进行所有调试,因此,如果您正在开发并且需要调试器,那么它将无济于事。因为我在使用El Capitan的旧Mac上运行代码,所以旧版本的Xcode 8.2.1仅存在此问题。

较新的mac和Xcode版本10似乎没有此问题。


-3

不需要代码。无需重新安装xcode。执行以下步骤:

1.关闭xcode

2.打开钥匙串访问。

3.双击您的钥匙串(从keychain.p12创建的钥匙图标)

4.转到访问控制面板(名称可能不正确)

5.为此启用所有应用访问权限。

6.保存。

7.运行您的xcode项目。

8.效果很好。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.