Как я могу пропустить сжатие одного PNG?

(Примечание. Я решил эту проблему, но потребовалось достаточно много времени, чтобы опубликовать здесь вопрос/ответ.)

Процесс сборки Xcode "оптимизирует" мои PNG при создании. Обычно это не проблема, но iTunesArtwork, обрабатываемая таким образом, вызывает развращение, поэтому iTunes не сможет ее показать. Как я могу предотвратить это?

Ответы

Ответ 1

Подробнее о сжатии Xcode PNG вы можете прочитать здесь: http://iphonedevelopment.blogspot.com/2008/10/iphone-optimized-pngs.html

В то время как вы можете полностью отключить оптимизацию/сжатие PNG, используя "Сжать файлы PNG" в своих настройках проекта (это видно только в том случае, если для базового SDK проекта установлено значение SDK устройства, а не SDK симулятора), вы не хотите сделать это! Прочтите ссылку выше, чтобы узнать, почему, но суть в том, что оптимизация позволяет iPhone пропустить некоторую математику, которая замедляет отображение PNG.

Xcode будет оптимизировать только файлы изображений PNG, о которых он знает. Чтобы предотвратить оптимизацию определенного PNG, вы меняете его тип файла, поэтому Xcode больше не знает его PNG.

  • Выберите файл в окне проекта.
  • Выберите "Файл- > Получить информацию".
  • На вкладке "Общие" измените тип файла с image.png на file.

(Фактически это значение по умолчанию, когда вы добавляете файл без расширения, что, вероятно, связано с тем, что у iTunesArtwork его нет. Но если вы педантичны, как я, вы проверили параметр "Тип файла" и исправили его.)

Ответ 2

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

Измените тип файла с Default - PNG Image на Data в Инспекторе идентификации и типа в XCode. См. Ниже:

Был:

enter image description here

Сейчас:

enter image description here

Ответ 3

Для всех вас, используя Xcode 6.4 и выше:

Перейдите к: "Цели" - "Имя вашего проекта".

Далее перейдите на вкладку "Настройки сборки". Просто под названием Tab нажмите кнопку "Basic" и "Combined".

Затем прокрутите вниз до раздела "Упаковка", и вы по умолчанию установите "Сжать файлы PNG" на "Да".

введите описание изображения здесь

Ответ 4

1.Goto your build setting 
2.Search flag Compress PNG files and set it to NO.(default is YES).

После этого сжатие изображений PNG будет предотвращено. Просто для получения дополнительной информации