Увеличен размер скомпилированных изображений в iOS 8.

Недавно я добавил расширение iOS 8 Photos в свое существующее (совместимое с iOS 7) приложение. Расширение разделяет некоторые значки и другие изображения с основным приложением. Поскольку я пока не могу использовать встроенные фреймворки для совместного использования этих ресурсов (недоступно в iOS 7), я добавил эти ресурсы к обеим целям - основному приложению и расширению, входящему в состав приложения. Поэтому я ожидал увеличения размера приложения примерно в два раза.

Но вот загвоздка: приложение теперь примерно в три раза больше! Я попытался понять, почему, и обнаружил, что скомпилированные ресурсы в пакете расширений более чем в два раза больше (38,6 МБ) по сравнению с ресурсами в основном приложении (17,2 МБ). Это странно, потому что они взяты из одного каталога активов.

После некоторых экспериментов я обнаружил, что это связано с версией iOS. Целевой объект расширения имеет iOS 8 в качестве целевого объекта развертывания (очевидно), а основное приложение по-прежнему имеет iOS 7. Когда я меняю цель развертывания основного приложения на iOS 8, его скомпилированные ресурсы также становятся более чем в два раза больше!

Я предполагаю, что для iOS 8 компилятор ресурсов автоматически генерирует изображения @ 3x для iPhone 6 Plus, даже если они не указаны явно. Проблема в том, что я решил не предоставлять их специально, чтобы избежать ненужного увеличения размера приложения (как ни парадоксально ...). Увеличенная версия мне показалась достаточно хорошей. Приложение также работает и выглядит так, как задумано на 6 Plus, созданном для iOS 7 (с небольшими активами).

TL; DR: для iOS 8 компилятор ресурсов дает гораздо большие результаты, чем для iOS 7.

Есть ли способ запретить ему это делать?


person Frank Schlegel    schedule 23.01.2015    source источник


Ответы (1)


Попробуйте обновить настройку сжатия Assets.xcassets с «По умолчанию» на «Базовое», «Лучшее качество графического процессора» или «Наименьший размер графического процессора».

Размер Assets.car вернется в норму.

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

person Jichao Wu    schedule 10.03.2017