Сокращение размера моего Приложения
Q: Как я могу сделать свое приложение меньшим, так, чтобы это было быстрее, чтобы загрузить и установить?
A: Этот документ является набором методов для сокращения размера приложения, когда это загружено и установлено впервые. См. «Сокращающий Размер Загрузки для Обновлений приложения для iOS» для получения информации, определенной для обновлений приложения. Они работают по-другому.
Проверка Вашего приложения
Первый шаг должен посмотреть на Ваш .app свяжите и посмотрите, какие файлы в нем поднимают большую часть пространства.
Прежде, чем попробовать любую оптимизацию, необходимо измериться. Это скажет Вам, что фокусироваться на улучшении. Некоторые методы в этом документе являются согласованиями с недостатками, которые нужно рассмотреть. Необходимо измерить их влияние, чтобы быть уверенными, что Вы делаете правильный компромисс. Без измерения Вы не можете знать, какое изменение Вы вносите.
Когда приложение для iOS установлено впервые, оно загружается как .ipa файл. (Обратите внимание на то, что обновления отличаются). .ipa файл просто a .zip архив, имеющий определенную структуру, когда разархивировано.
Можно найти .ipa из Вашего приложения, как загружено с App Store, путем синхронизации устройства на iOS с iTunes, затем взгляда внутри ~/Music/iTunes/iTunes Music/Mobile Applications.
Можно также использовать команду Archive XCode для создания
Проверка .ipa файла
Просто измените расширение .ipa файл к .zip, тогда откройте его со Средством поиска для распаковки его. Щелкните правой кнопкой по разархивированному .app пакет, и выбирает «Show Package Contents» для наблюдения ресурсов внутри. Это может дать Вам общее представление о том, что использует большую часть пространства. Помните что все .app пакет будет заархивирован, и некоторые файлы сжимаются лучше, чем другие. То, что имеет значение, является размером после сжатия. Но обычно самые большие файлы всегда являются самыми большими файлами. Можно экспериментировать с удалением файла и пересжатием .app пакет путем щелчка правой кнопкой по нему в Средстве поиска и выбора «Compress» для получения более точного измерения.
Хранилище приложения для iOS Определенные Соображения
Как часть подготовки приложения для App Store, сам исполняемый файл в .app пакет шифруется. Побочный эффект этого шифрования состоит в том, что исполнимая программа больше не будет сжиматься также, потому что шифрование скрывает образцы. Поэтому .ipa загруженный с App Store будет больше, чем
XCode может дать Вам оценку размера заключительного поставляемого компонента, составляющего изменения вследствие шифрования, если Вы выбираете заархивированную сборку в окне Organizer и нажимаете Estimate Size.
Это не рассмотрение для приложений App Store Mac или дистрибутивы Предприятия iOS за пределами App Store.
Настройки сборки
Параметры компилятора
Установка установки сборки Уровня Оптимизации в Самый быстрый, Самое маленькое [-OS]; и Отладочные символы Полосы Во время установки сборки Копии в Да (COPY_PHASE_STRIP = YES) может существенно ниже размер своего скомпилированного двоичного файла. Эти настройки являются значением по умолчанию для конфигурации «Выпуска» в проектах XCode.
Target меньше CPUs
По умолчанию проекты XCode сконфигурированы для генерации оптимизированных копий приложения в специфичных для CPU «частях» исполнимой программы. Различные аппаратные средства выполнят различную часть исполнимой программы. Это включает мощную оптимизацию, которая только возможна на некоторых устройствах. Однако это может существенно увеличить размер исполнимой программы Вашего приложения.
Для предназначения только для определенного CPUs измените сборку Архитектуры, сходящую со Стандарта $(ARCHS_STANDARD) к списку имен определенного CPUs Вы хотите поддерживать. Допустимые имена CPU перечислены в Допустимой Архитектуре (VALID_ARCHS) установка сборки. Не изменяйте настройки Valid Architectures. Это является остаточным, и лучше всего управляемое XCode.
Активы
Проверка работоспособности Ваше приложение
Используйте процедуру, описанную в «Проверке Вашего Приложения» для проверки то, что фактически поставляет в Вашем .app пакет. Часто приложения содержат дополнительные файлы, как никогда не использующиеся заголовки или readme.
Сохраните Данные из Кода
Перемещение любых ресурсов, таких как длинные строки или таблицы, из кода и во внешние файлы сделает заключительную загрузку меньшей, потому что те файлы будут сжаты более эффективно. (См. «Хранилище приложения для iOS Определенные Соображения» для полного технического фона.)
Активы изображения
Используйте 8-разрядные изображения, где возможно
Используя 8-разрядный формат PNG где применимо может уменьшить Ваш размер изображения фактором 4 по сравнению с 32-разрядными изображениями. 8-разрядные изображения поддерживают максимум 256 различных цветов, таким образом, они должны только использоваться изображения, использующие маленький набор цветов. Например, полутоновые изображения являются совершенным кандидатом на 8-разрядные изображения.
Используйте Высокое Сжатие для 32 растровых изображений, Где Возможно
Используя Adobe функция «Save For Web» Photoshop может сократить размер JPEG и изображений PNG значительно. По умолчанию, .png
Аудио активы
Аудио сжатия
Посмотрите Аудио Разработку для Игр сеанс WWDC для получения информации об обработке аудио эффективно. Как правило необходимо сжать аудио с помощью AAC или MP3 и эксперимента с сокращенной скоростью передачи. Довольно часто выборка на 44.1 кГц является излишеством, и клип более низкой скорости передачи не будет иметь заметного отбрасывания по качеству.
История версии документа
| Дата | Примечания |
|---|---|
| 06.03.2014 | Новый документ, объясняющий методы для сокращения размера Вашего приложения |