Уменьшить размер моего приложения, чтобы оно быстрее загружалось и устанавливалось?
Перед тем, как попробовать какие-либо оптимизации, вы должны измерить. Некоторые из методов, описанных в этом документе, представляют собой компромиссы с недостатками, которые необходимо учитывать. Вы должны измерить их влияние, чтобы быть уверенным, что делаете правильный выбор. Без измерения вы не можете знать, какие изменения вы вносите.
В процессе распространения приложения создается ряд различных артефактов, каждый из которых имеет свое назначение и размер. Важно понимать, что представляет собой каждый артефакт и какие артефакты использовать при измерении размера вашего приложения.
- Набор приложений — это набор
.app
, содержащий все двоичные файлы вашего приложения, а также все ресурсы вашего приложения, например изображения. Этот пакет содержит все необходимое для запуска вашего приложения на всех поддерживаемых устройствах. Для целей этого документа под пакетом приложений понимается только.app
, созданный в результате архивирования вашего приложения. - Отправка в App Store .ipa создается из архива Xcode при загрузке в App Store или при экспорте архива для развертывания в iOS App Store. Этот
.ipa
представляет собой сжатый каталог, содержащий комплект приложений и дополнительные ресурсы, необходимые для служб App Store, такие как.dSYM
файлы для отчетов о сбоях и пакеты ресурсов для ресурсов по запросу. - Универсальный файл .ipa – это сжатый пакет приложений, содержащий все ресурсы для запуска приложения на любом устройстве. Биткод был перекомпилирован, а дополнительные ресурсы, необходимые App Store, такие как файлы
.dSYM
и ресурсы по запросу, удалены. Для приложений App Store этот.ipa
загружается на устройства под управлением iOS 8 или более ранней версии. - Тонкий .ipa – это сжатый пакет приложений, который содержит только те ресурсы, которые необходимы для запуска приложения на определенном устройстве. Биткод был перекомпилирован, а дополнительные ресурсы, необходимые App Store, такие как файлы
.dSYM
и ресурсы по запросу, удалены. Для приложений App Store этот.ipa
загружается на устройства под управлением iOS 9 или более поздней версии. - Универсальный набор приложений — это распакованный универсальный пакет
.ipa
. В процессе установки универсальный.ipa
распаковывается и устанавливается универсальный пакет приложений. - Утонченный набор приложений — это распакованный утонченный
.ipa
. Процесс установки распаковывает истонченный.ipa
и устанавливает истонченный пакет приложений.
Получение отчета о размере приложения
Xcode предоставляет инструменты отчетности, которые помогут вам понять размер вашего приложения. Чтобы создать отчет о размере:
- Архивируйте свое приложение.
- Экспортируйте свой архив для тестирования вне магазина.
- Выберите «Экспорт для определенных устройств» и выберите «Все совместимые варианты устройств» во всплывающем меню.
- Выберите «Восстановить из битового кода».
В выходной папке вы найдете App Thinning Size Report.txt
, который разбивает размеры сжатых и несжатых файлов, а также размер любых ресурсов по требованию для каждого типа устройства. Пример этого файла приведен в листинге 1.
Вы также можете использовать xcodebuild из командной строки для экспорта специального архива с опциями для создания прореженных .ipa
файлов и получения отчета о размере приложения.