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

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

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

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

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

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

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

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

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

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

Interesting Posts

На основе чего работает iOS App Slicing? Есть ли какой-нибудь код или другой материал, необходимый для этого?

Какие заголовки запросов использовать для загрузки файла изображения из iOS в ASP.NET?

Как создать зависимый общий протокол в быстром

Как определить, когда UIWebView полностью завершил загрузку?

UITabBarController не меняет цвет значков кнопки «больше»

Соединение Iphone USSD в фоновом режиме

IPhone Воспроизведение звука по телефону

UITableView – Непосредственная установка свойства tableHeaderView или Внедрение метода -viewForHeaderInSection

Лучший способ синхронизации приложения iOS с ALAssetsLibrary, когда приложение выходит на передний план

Хранение массива строк с использованием Realm's RLMArray

Карты ios google, отображающие несколько проблем с маркерами (информационное окно и повторение маркера)

Как показать размытое изображение перед загрузкой (например, в whatsapp) в ios?

Как я могу установить cornerRadius UIStackView?

нет заголовка зонтика, найденного для цели

Почему «присутствовать как popover» segue покрывает весь экран?

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