每次启动时,socketfilterfw(OS X防火墙)都会扫描Xcode.app


26

情况:

当我启动XcodesocketfilterfwOS X基于的应用程序firewall,开始使用大量的CPU。

经过研究后,我将其范围缩小了:socketfilterfw读取包中的所有文件,Xcode.app并在每次 Xcode启动时执行此操作。每次都有千兆字节的数据

防火墙的设置无关紧要,我都尝试了所有设置。唯一阻止此情况的方法是停用防火墙(在启动Xcode之前)。

还有其他人有这种影响或想法吗?


更新
我只是在全新安装(OS X和ADC中的Xcode)上尝试过Xcode,但并没有解决它。但是它不是在Xcode启动时启动扫描,而是在执行项目(CMD-R)时启动扫描。因此,它会在Xcode启动或执行项目时开始扫描。


您正在做什么以衡量此文件活动?是性能问题还是能源使用问题,还是仅仅是让您感到厌烦的问题?
bmike

最终的线索是通过在Terminal中使用“ fs_usage”给出的,它向我展示了socketfilterfw的功能,并读取了Xcode.app软件包中的所有那些文件。我还注意到(但从我的问题中删除了该问题),当我启动Xcode时,“ amfid”被激活(短暂的高CPU使用率,足以在Activity Monitor中看到它),此后,Xcode完成启动,不久,socketfilterfw启动这是扫描式的。是的,这是一个性能和能耗问题,因此我注意到了它,但这也困扰着我:),我想知道为什么会这样。

2
查看文件系统使用情况的命令:sudo fs_usage -w -f filesys socketfilterfw

1
凉。这个周末我将尝试检查-开发人员下载版本和应用商店版本。我没有注意到这样的事情,但也通常不会经常戳fs_usage。
bmike

1
谢谢!是的,可以从ADC站点下载它,我完全忘了这一点,谢谢提醒我。我已经从那里下载了它以检查差异,并将试用Beta。

Answers:


22

Xcode可能试图使用网络。这将触发防火墙中的规则,导致检查Xcode的代码签名-需要读取完整的应用程序捆绑包。

在OS X的防火墙设置中尝试以下选项:

  • 系统Preferences.app>
  • 安全和隐私>
  • 防火墙>
  • 防火墙选项...>
  • 自动允许签名的软件接收传入的连接

我禁用了此选项。结果,经常提示允许Xcode传入网络访问。我始终拒绝访问,因为这样做仍然允许Xcode与基础开发工具之间进行本地连接。

附带说明,我无法重现您在OS X 10.10.3和Xcode 6.3.2上看到的行为。

备用防火墙

如果您确实决定禁用Mac的内置防火墙,请使用第三方替代产品(例如Little Snitch)进行调查: 与内置防火墙相比,首选Little Snitch的原因


2
考虑通过反馈正式的错误报告直接向Apple报告此行为。每个报告都有助于证明工程时间。
格雷厄姆·米尔恩

1
再次感谢您的反馈和努力。好的,我想我因为涉及安全问题而无法解决这个问题。作为“临时解决方案”,我安装了LittleSnitch(感谢提示),但是不确定是否可以设置它,使其表现得像OS X防火墙(隐身模式),但我会看到。另一个选择可能是具有内置防火墙的Airport Express。

2
顺便说一句:我删除了LS,我认为它不能用于此目的(请参阅forums.obdev.at/viewtopic.php?f=1&t=6936#p22452,最后一句)。先生,感谢您的帮助和感恩节快乐;)

4
我使用自动允许已签名的软件来接收传入的连接 “启用”,用引号引起来,因为它似乎并未真正“启用”。我禁用了它,然后重新启用了它,一切恢复正常。
XCool

3
@bauerMusic大提示!我为此一直挣扎了好几个星期。Socketfilterfw完全使我可怜的2011 Macbook Air失去了生命。公认的答案并不能解决我的问题,但是从防火墙列表中删除Xcode可以解决问题。谢谢。
Tuslareb 2015年

1

我做了两个选择(从列表中删除,取消选中“ 自动允许签名的软件接收传入的连接”),然后必须重新启动Xcode才能使修复生效。

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.