2015-01-23 2 views
3

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

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

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

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

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

Есть ли способ, чтобы сказать ему, чтобы не сделать это?

ответ

0

Попробуйте обновить параметр сжатия Assets.xcassets от Default до Basic или GPU Best Quality или GPU Smallest Size.

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

enter image description here

Смежные вопросы