2016-12-29 3 views
3

У нас есть приложение в настоящее время в App Store, и его размер следующим образом в соответствии с ITunes подключения:Почему размер нашего приложения значительно увеличивается при незначительной смене функции?

iPhone 6: Скачать Размер 21.8MB, установить размер 28.5MB

Теперь это не так уж плохо. Но с новой версией мы загрузили на ITunes подключения, размеры, как это:

iPhone 6: Скачать Размер 35.5MB, установить размер 73.1MB

И первоначально пакет сжат размер 114MB.

Теперь это слишком большое, даже неприемлемое. Я проверил файл .app в архиве (который составляет 178 МБ) и неожиданно обнаружил, что только мой код принимает 55 МБ (который в режиме отладки составляет всего 11 МБ) и быстрые стандартные библиотеки около 40 МБ.

Функция кода этой версии ничем не отличается от предыдущей: мы добавили поддержку iPad, добавили несколько изображений (актив - 7,8 МБ как в архиве отладки, так и в выпуске, что не является проблемой) и обновлено наш проект стремительно 3.

Все размеры выпуска, приведенные выше, включают оптимизацию всего модуля. Может ли быть конфигурация в моих настройках сборки, которая может привести к этому огромному размеру? Если нет, что еще я могу сделать, чтобы уменьшить размер приложения в максимально возможной степени (особенно коды 50 МБ)

Кроме того, ЧТО является причиной этого? Это быстро, так как мы не очень сильно меняем наш код?

+2

У вас есть проблемы с BitCode? Посмотрите здесь: http://stackoverflow.com/questions/32588757/after-switching-to-xcode-7-app-size-grew-from-9-mb-to-60-mb-is-there-a -fix, а также здесь: http://stackoverflow.com/questions/37280325/are-testflight-app-sizes-bloated-by-a-large-amount-compared-to-actual-download-s – Yohst

+0

Это не быстрый 3. Мое приложение, охватывающее Swift 2.2 и с 3 обновлениями, на самом деле не выросло. Похоже, вы задумывались над тем, что вы проверили. Что вы не упомянули - какие-либо зависимости от стороннего кода? Любой конкретный компонент в вашем комплекте приложений, который может это объяснить? – dfd

+0

@dfd Да, мы используем довольно много контейнеров, но я проверяю их все в архиве, и они занимают около 5 МБ. – Edward

ответ

2

Мы также сталкиваемся с такой проблемой в нашем предыдущем приложении. В то время мы делаем ниже шаги, чтобы проверить, какая часть приложения занимает больше места.

1) Копировать окончательный файл IPA, который был сгенерирован архивом.

2) Переименовать "application.ipa" в "application.zip"

3) Разархивируйте application.zip файл.

4) Откройте папку распаковки и найдите файл «application.app» в папке «Полезная нагрузка».

5) Щелкните правой кнопкой мыши файл «application.app» и выберите «Показать содержимое пакета».

6) После щелчка на нем вы увидите список всех файлов, добавленных в ваш окончательный пакет приложений.

С этого имени файла вы можете увидеть, какой файл занимает пространство в лагере и действовать соответствующим образом.

  • Assets.car: это для графических средств, добавленных в приложении.
  • Рамки: Все рамки, которые добавлены вами в вашем коде.
  • file_name.nib: Этот файл предназначен для ваших xibs, добавленных в ваш проект.
  • file_name.storyboardc: Этот файл предназначен для вашего Storyborad, добавленного в вашего проекта.
  • Кроме того, их будет список шрифтов, изображений, видеороликов, пакетов, и т. Д. Файлов.

На этом этапе вы можете получить представление о том, что является причиной размера сборки.

+0

Вот что я сделал, и выяснил, что наш код взял 50 МБ плюс быстрые стандартные библиотеки 40М. Но странно, приложение, скомпилированное в режиме отладки, имеет только 11 МБ кода и 20 МБ библиотек – Edward

+0

Кроме того, все было не так уж и много. – Edward

+0

Как и в режиме отладки, для определенного устройства создается xcode, поэтому размер отладочной сборки меньше. Но мы не можем быть уверены, основываясь на размере сборки, потому что размер дисплея в магазине приложений отличается для разных устройств. Размер приложения зависит от ваших активов и библиотеки, и мы не вносим изменений в библиотеки, но для активов мы можем внести некоторые улучшения. Чтобы уменьшить размер изображения без ущерба для качества изображения, вы можете использовать «https://tinypng.com/» Еще одним фактором является включение битового кода во время создания IPA с использованием достижения. По комментариям Yohst –

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