App Thinning (iOS, watchOS). Оптимизация приложений

App Store и операционная система оптимизируют установку iOS и watchOS приложений отдельно для каждого устройства, требуя минимальный объем занимаемой памяти. Эта оптимизация, названная app thinning (утоньшение приложения), позволяет вам создавать приложения, которые используют больше ососбенностей устройства, занимают меньше места и приспосабливаются к возможным будущим обновлениям Apple. Более быстрая загрузка и больше места для других приложений означают лучший пользовательский интерфейс.

Данный раздел описывает 3 компонента app thinning: нарезка, биткод и ресурсы по запросу.

Нарезка (slicing, iOS)

Нарезка — это процесс создания и доставки разновидностей приложения для разных устройств. Разновидность содержит только исполняемую архитектуру и ресурсы, которые нужны для целевого устройства. Вы продолжаете разрабатывать и загружать полные версии вашего приложения в iTunes Connect. App Store создаст и доставит разновидности в зависимости от поддерживаемых вашим приложением устройств. Ресурсы изображений режутся в соответствии с их разрешением и семейством устройств. GPU ресурсы режутся в соответствии с возможностями устройств. Когда пользователь устанавливает приложение, скачивается и устанавливается соответствующая разновидность.

Xcode моделирует нарезку в процессе разработки, так вы можете создавать и тестировать разновидности локально. Xcode режет ваше приложение, когда вы компилируете и запускаете ваше приложение на устройстве. Когда вы создаете архив, Xcode включает полную версию вашего приложения, но позволяет вам экспортировать разновидности из архива.

Помните: для iOS приложений нарезка поддерживается последним iTunes и на устройствах с iOS 9.0 и более новых; иначе App Store доставит пользователям универсальные приложения

Нарезка производится во время вашей обычной разработки и распространения и происходит следующим образом:

В Xcode выберите целевые устройства и предоставьте изображения разных разрешений в папке asset.

Вы можете использовать папку asset для нарезанных ресурсов.

Скомпилируйте и запустите приложение в Simulator или на устройстве.

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

Создайте архив приложения и экспортируйте разновидность локально для целевого устройства.

Тестируйте все разновидности, которые вы экспортировали, на целевых устройствах для того, чтобы как можно раньше обнаружить ошибки конфигурации.

Загрузите приложение в iTunes Connect.

App Store создает отдельные разновидности из архива. Количество разновидностей зависит от архитектур и ресурсов, определенных в проекте Xcode.

В iTunes Connect распространите версию prerelease вашего приложения определенным тестировщикам.

Тестировщики устанавливают версию prerelease на поддерживаемые устройства через TestFlight. TestFlight скачивает разновидность приложения, специфическую для устройства пользователя.

Помните: для тестирования разновидностей, которые App Store компилирует до того, как вы распространяете ваше приложение пользователям, только пригласите внутренних тестировщиков (ваша команда iTunes Connect пользователей) и скачайте разновидности через TestFlight. Если вы приглашаете внешних тестировщиков (пользователи, указавшие только свой email), внешние тестировщики должны ждать положительного окончания Beta App Review до того, как смогут скачивать разновидности.

Выпустите приложение через iTunes Connect.

Пользователи устанавливают приложение на поддерживаемые устройства, и App Store скачивает разновидности приложения, специфические для устройства пользователя.

Биткод (iOS, watchOS)

Биткод — промежуточное представление скомпилированной программы. Приложения, которые вы загружаете в iTunes Connes и которые содержат биткод, будут скомпилированы и слинкованы в App Store. Включение биткода позволит Apple переоптимизировать ваше готовое приложение в будущем без необходимости посылать новую версию вашего приложения в магазин.

Помните: для iOS приложений биткод включен по умолчанию, но не обязателен. Если вы предоставляете биткод, все приложения и фреймворки в сборке приложения должны включить биткод. Для watchOS приложений биткод обязателен.

Ресурсы по запросу (iOS)

Ресурсы по запросу — это такие ресурсы, как картинки и звуки, которые вы можете пометить ключевыми словами и запрашивать группами по тегу. App Store хранит ресурсы на своих серверах и управляет загрузками за вас. Ресурсы по запросу способствуют более быстрым загрузкам и меньшим размерам приложений, улучшая впечатление от первого запуска. Например, приложение игры может разделить ресурсы на уровни и запрашивать следующий уровень ресурсов только тогда, когда приложение предполагает, что пользователь переместится на тот уровень. Таким же образом приложение может запрашивать ресурсы In-App Purchase только тогда, когда пользователь совершает соответствующую покупку.

Операционная система очищает ресурсы по запросу, когда они больше не нужны, и на диске мало места. Если вы экспортируете ваше приложение для тестирования или распространения за пределами App Store, вы обязаны разместить ресурсы по запросу самостоятельно. Помните, что исполняемые ресурсы не поддерживаются (в оригинале — «не поддерживаются», на самом деле скорее всего имелось в виду «запрещены правилами Apple»). App Store также режет ресурсы по запросу как описано в разделе Нарезка (iOS), что в будущем улучшит впечатление пользователя.

Для пользователей ресурсы по запросу работают прозрачно (незаметно) в фоне, поддерживая ресурсы как надо, когда пользователь просматривает возможности вашего приложения.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *