Что такое PngCrush в iOS?

Я знаю, что Pngcrush - это метод оптимизации изображений в iOS, но я сомневаюсь, что X-код выполнит это внутренне во время каждой сборки или перед развертыванием нашего приложения в магазине iTunes нам нужно провести эту оптимизацию изображений?

3 ответа

Решение

Xcode выполняет преобразование во время сборки. Окончательное приложение будет иметь измененные png, вам не нужно ничего делать вручную.

Дробление PNG осуществляется с использованием pngcrush инструмент, к которому вы можете получить доступ вручную с помощью этой команды:

xcrun -sdk iphoneos pngcrush -iphone ...

Xcode сделает это автоматически для любых файлов, добавленных к вашей цели с типом файла "PNG":

Если вы включаете ресурсы, используя ссылку на каталог, дробление PNG не будет выполняться XCode, и вам придется делать это вручную.

Вы можете раздавить все PNG в каталоге вручную, используя этот небольшой фрагмент bash:

find /path/to/directory -name "*.png" | while read filename; do
    xcrun -sdk iphoneos pngcrush -iphone "$filename" "${filename}_crushed"
    mv "${filename}_crushed" "${filename}"
done

По умолчанию XCode выполняет автоматическое преобразование.

Вы можете контролировать это поведение в настройках вашего проекта:

Найдите параметр "Сжатие файлов PNG" и установите нужное значение.

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