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, чтобы исправление вступило в силу.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.