Стратегия распространения и управления приложениями с большими ресурсами

Я создаю приложение, которое требует 1,8 ГБ ресурсов. Это корпоративное приложение, которое будет установлено в контролируемой среде. Ресурсы должны быть на устройстве с самого начала, поскольку он будет использоваться без покрытия сети.

Ресурсы – это специализированные карты, которые представлены в виде сотен изображений PNG, содержащихся в семантически значимых папках.

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

Я экспериментировал с распространением приложения без ресурсов и его загрузкой, если это необходимо, при первом запуске в виде zip-файла. К сожалению, при распаковке ресурсов требуется неустойчивое количество времени.

Как я могу попасть в сладкое пятно между простым в управлении проектом в Xcode, небольшим дистрибутивом и управляемым первым запуском? Я доволен тем, что iPad будет сидеть там полчаса или около того, когда приложение будет установлено впервые, но дольше это не сработает. Есть ли лучший способ, чем использовать zip-файл для ресурсов?

One Solution collect form web for “Стратегия распространения и управления приложениями с большими ресурсами”

Я экспериментировал с распространением приложения без ресурсов и его загрузкой, если это необходимо, при первом запуске в виде zip-файла. К сожалению, при распаковке ресурсов требуется неустойчивое количество времени.

Файлы PNG сильно сжаты, поэтому вы не получаете реальной выгоды, зашивая их. Вместо этого вы могли бы архивировать их в таре-шаре, а разборки были бы намного быстрее. Возможно, zip также имеет опцию archive-without-compression.

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

Interesting Posts

NSDictionary быстрый KVC с нулевыми значениями

Unload / Release / Remove React Native View из среды исполнения

Как соответствовать протоколу CBCentralManagerDelegate? (Swift IOS)

Настройка эффекта темы для приложения в представлении AppStore

Как добавить минут к текущему времени в быстром

applicationWillTerminate: не называется

Swift 3 – Mapbox – настройка пользовательского местоположения Аннотация

Отправка простого запроса GET с помощью RestKit

Сравнение трассировки Xcode Instruments

ios – Spritekit – Как рассчитать расстояние между двумя узлами?

Почему меняется исходный код моего кадра, не обновляя его местоположение на экране? (iOS 8)

Как отображать изображение в UIImageView с помощью URL и NSString в ios?

Обновление данных таблицы таблиц после segue из деталей

Ускорить UIPageViewController

Нажмите контроллер просмотра в портрете с контроллера вида, который находится в ландшафте

PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.