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

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

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

4 ответа

Решение

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

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

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

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

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

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

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

Было:

Сейчас:

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

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

Далее перейдите на вкладку "Настройки сборки". Чуть ниже названия вкладки нажмите кнопку "Базовая" и "Комбинированная".

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

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

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

Другие вопросы по тегам