Архив Xcode 4 приводит к медленному / неотвечающему органайзеру, а процесс pngcrush занимает 100% процессорного времени

извините за довольно запутанный заголовок, но я постарался получить как можно больше информации.

Проблема:

  1. Я пытаюсь заархивировать свое приложение для iPhone в файл ipa для тестирования OTA (через TestFlightApp), поэтому в Xcode я выполняю Project> Archive.
  2. После успешного архивирования открывается Xcode Organizer для создания файла ipa. НО, как только Организатор открыт, Xcode становится ОЧЕНЬ медленным и практически не отвечает.

Поэтому, естественно, я открываю Activity Monitor, чтобы посмотреть, что происходит, и там есть процесс под названием «pngcrush», который использует почти весь мой процессор (90% +) и заставляет процесс Xcode периодически отображаться как «не отвечающий». Кажется, я ничего не могу сделать в Организаторе, потому что он просто продолжает бросать курсор загрузки/счетчика.

Любые идеи о том, как это исправить, были бы замечательными! Кроме того, я попытался установить для параметра «Сжать PNG» в настройках сборки значение «Нет», но проблема все еще существует. Спасибо!

Xcode 4.0.2, ОС X 10.6.6


person FrankieA    schedule 05.07.2011    source источник
comment
У меня те же симптомы производительности, но, похоже, они не связаны с раздавливанием PNG.   -  person Ian1971    schedule 16.08.2011
comment
Подтверждаю проблему. У меня те же симптомы: pngcrush загружает процессор на 100% после архивации проекта.   -  person Vladimir Obrizan    schedule 18.08.2012


Ответы (6)


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

Архивы сохраняются в ~/Library/Developer/Xcode/Archives. Если вы хотите сохранить архивы в качестве резервной копии, переместите их в другую папку. Лично я создал папку ~/Library/Developer/Xcode/Archives Backup для хранения старых архивов.

person Wolfgang Schreurs    schedule 17.11.2011
comment
подтверждаю вашу догадку. Я проверил это с помощью приложения Activity Monitor. Я заархивировал один проект, а затем Organizer заморозил мой Xcode. В то время pngcrush обрабатывал PNG из другого проекта. Так что мне помогает удаление (или перемещение) всех архивов. - person Vladimir Obrizan; 20.08.2012

Это странный баг.

Я обнаружил, что решил это, удалив образы запуска из пакета, а затем добавив изображения в обычном режиме, хотя интерфейс добавления файлов. Если я перетаскивал изображения на панель сводки в целевом приложении, это приводило к тому, что большое изображение отображалось в изображении предварительного просмотра органайзера, которое PNGCrush постоянно пытается уменьшить.

Я нашел это, удалив файл значка и/или запуска изображения, а также переместив архивы с оскорбительными файлами значка/запуска изображения. Я также обнаружил, что файл изображения запуска был на 20 пикселей меньше, чем я обрезал для строки состояния, что неверно. (См.: https://developer.apple.com/library/ios/documentation/userexperience/conceptual/mobilehig/IconsImages/IconsImages.html#//apple_ref/doc/uid/TP40006556-CH14-SW5)

person SushiGrass Jacob    schedule 06.03.2012

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

Во-вторых, вы пытались дать ему закончить? PNGCrush — это процесс, который сжимает все файлы PNG в вашем проекте для экономии места.

Кроме того, попробуйте удалить файл рабочей области. Глянь сюда:

Xcode 4 - низкая производительность

person sudo rm -rf    schedule 05.07.2011
comment
Я несколько раз перезагружался и пытался стереть свое рабочее пространство - безрезультатно. Я также пытался запустить его, но он никогда не заканчивался (я ждал до 20 минут?). Иногда мне кажется, что он исчез, и я щелкаю Органайзер, затем бац, процесс pngcrush запускается снова. Наконец, я не понимаю, почему pngcrush работает, даже если я установил для параметра сжатия png значение НЕТ? - person FrankieA; 06.07.2011
comment
Ага, это странно. Я думаю, что что-то не так с вашим файлом рабочей области проекта или вашими пользовательскими данными Xcode. - person sudo rm -rf; 06.07.2011

По какой-то причине в моем файле Info.plist было несколько (некоторые недействительные) записей для Icon files и Icon files (iOS 5). Я удалил все элементы из этих списков, снова добавил значок приложения, и все снова стало хорошо работать. Надеюсь, это поможет кому-то еще!

person raidfive    schedule 16.03.2012

Ответ @wolfgang был правильным для меня, и в целом - очистить Организатор от всех его данных -

  • Архивы
  • Устройства
  • Предоставление профилей

Вы можете найти обсуждение на форумах поддержки Apple: https://discussions.apple.com/thread/3159366?start=0&tstart=0

Я дошел до того, что мне приходилось перезагружать компьютер, если я случайно открывал Организатор. Теперь я снова могу дышать.

person Oded Ben Dov    schedule 13.06.2012

Я решил заморозить мой Организатор:

rm ~/Library/Developer/Xcode/UserData/IDEOrganizerWindowController.xcuserstate

person Kyle Robson    schedule 12.12.2014