Xcode.app сканируется socketfilterfw (OS X Firewall) при каждом запуске

26

Ситуация:

Когда я запускаю Xcode, socketfilterfw, OS Xприложение «s основе firewall, начинает использовать много ресурсов процессора.

После некоторого исследования я сузил это до следующего: socketfilterfwчитает все файлы в Xcode.appкомплекте и делает это каждый раз при Xcode запуске. Гигабайты данных , каждый раз.

Неважно, какие настройки есть у брандмауэра, я перепробовал их все. Единственное, что останавливает это, это деактивировать брандмауэр (перед запуском Xcode).

Кто-нибудь еще этот эффект или идея, о чем это?


Обновление
Я только что попробовал XCode на чистой установке (OS X и XCode от ADC), и это не решило это. Но сканирование началось не тогда, когда Xcode запускается, а когда выполняется проект (CMD-R). Таким образом, он начинает сканирование либо при запуске Xcode, либо при выполнении проекта.


источник
Что вы делаете, чтобы измерить эту файловую активность? Это проблема с производительностью или энергопотреблением, или просто что-то, что вас беспокоит?
bmike
Окончательная подсказка была дана с помощью «fs_usage» в Терминале, который показал мне, что делает socketfilterfw, читая все эти файлы в комплекте Xcode.app. Я также заметил (но удалил это из моего вопроса), что «amfid» активируется (высокая загрузка ЦП на короткое время, достаточно долго, чтобы увидеть его в Activity Monitor), когда я запускаю Xcode и после этого Xcode завершает запуск и вскоре запускает socketfilterfw это скан-оргия. И да, это проблема производительности и энергии, я заметил это из-за этого, но это также беспокоит меня :), и я хочу знать, почему это происходит.
2
Команда для просмотра использования файловой системы: sudo fs_usage -w -f filesys socketfilterfw
1
Круто. В эти выходные я постараюсь проверить, как версию для разработчиков, так и версию для магазина приложений. Я ничего подобного не замечал, но и вообще не часто тыкаю в fs_usage.
bmike
1
Спасибо! Ах, да, его можно скачать с сайта АЦП, я совершенно об этом забыл, спасибо, что напомнили. Я уже скачал его оттуда, чтобы проверить различия и попробую бета.

Ответы:

22

Xcode, скорее всего, пытается использовать сеть. Это вызывает правило в вашем брандмауэре, которое приводит к проверке подписи кода XCode, что требует чтения всего пакета приложения.

Поэкспериментируйте со следующей опцией в настройках брандмауэра OS X:

  • Системные настройки.app>
  • Безопасность и конфиденциальность>
  • Брандмауэр>
  • Параметры брандмауэра ...>
  • Автоматически разрешать подписанному программному обеспечению принимать входящие соединения

У меня отключена эта опция. В результате мне часто предлагают разрешить Xcode входящий доступ к сети . Я всегда отказываю в доступе, поскольку при этом разрешаются локальные соединения между Xcode и основными инструментами разработки.

Как примечание, я не могу воспроизвести поведение, которое вы видите в OS X 10.10.3 и Xcode 6.3.2.

Альтернативные брандмауэры

Если вы решили отключить встроенный брандмауэр вашего Mac, попробуйте использовать стороннюю альтернативу, например Little Snitch: Reasons, чтобы предпочесть Little Snitch встроенному брандмауэру.

Грэм Милн
источник
2
Попробуйте сообщить об этом Apple напрямую через обратную связь или официальный отчет об ошибке . Каждый отчет помогает оправдать время разработки.
Грэм Милн
1
Еще раз спасибо за ваши отзывы и усилия. Хорошо, я предполагаю, что не могу решить это из-за проблем безопасности. В качестве «временного решения» я установил LittleSnitch (спасибо за подсказку), но я не уверен, смогу ли я установить его так, чтобы он вел себя как брандмауэр OS X (режим Stealth)), но я увижу. Другим вариантом может быть Airport Express, который имеет встроенный межсетевой экран.
2
Кстати, я удалил LS, я не думаю, что он может быть использован для этого (см. Forums.obdev.at/viewtopic.php?f=1&t=6936#p22452 , последнее предложение). Спасибо за вашу помощь и счастливого вам дня за вознаграждение, сэр;)
4
У меня было « Автоматически разрешать подписанному программному обеспечению принимать входящие соединения » в кавычках, потому что оно на самом деле не «включено». Я отключил его, затем снова включил, и все вернулось на круги своя.
XCool
3
@bauerMusic Отличный совет! Я боролся с этим в течение нескольких недель. Socketfilterfw полностью высосал из моего бедного Macbook Air 2011 года жизнь. Принятый ответ не решил его для меня, но удаление Xcode из списка брандмауэров добилось цели. Спасибо.
Tuslareb
1

Я сделал оба варианта (удалить из списка, снять флажок Автоматически разрешать подписанному программному обеспечению принимать входящие соединения ), а затем пришлось перезапустить Xcode, чтобы исправление вступило в силу.

ине
источник