Доставка zip с тысячами аудиофайлов в комплекте приложений - PullRequest
1 голос
/ 31 марта 2012

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

Чтобы уменьшить размер своего приложения, я решил отправить только часть из них вв виде zip-архива, а затем разархивируйте его в каталог документов.Затем, когда iPhone будет в сети Wi-Fi, я буду постепенно загружать все остальные.

Но проблема в том, что Apple говорит, что нам не разрешено хранить большие файлы в каталоге документов,Пометка файлов на отсутствие резервного копирования работает только с 5.0.1

. Поэтому я вижу для себя два пути:

  1. Отправка всех файлов без архивирования и сохранение их в комплекте приложений -но это слишком много.
  2. Отправьте zip, распакуйте его в каталог кеша, а затем проверьте, не были ли они (не удалены системой), и загрузите один, если он удален.

Что мне выбрать или есть какой-то другой способ для меня это решить?

Ответы [ 2 ]

2 голосов
/ 31 марта 2012

Архивирование аудио файлов не очень хороший способ.Я уверен, что сэкономленное место не будет играть никакой роли.

Лучшее решение - использовать аудиофайлы в формате AAC.Выберите подходящее качество между 64-128 кбит / с.И, вероятно, моно.

iPhone 3Gs и выше имеют аппаратную поддержку для этого кодека.

1 голос
/ 07 июня 2012

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

Автоматизированный способ: Если вы хотите загрузить их, не используя слишком много места для документов, вы можете написать прогнозный кэш, который имеет максимально допустимый размер.Вы можете отслеживать, когда к каждому файлу обращались в последний раз, и когда вам нужно загрузить новый файл, удаляйте файлы, к которым обращались раньше, пока у вас не будет достаточно места.Ваше приложение может предсказать, какие файлы понадобятся в дальнейшем, основываясь на прохождении уроков, но даже если они обращаются к несуществующему файлу, вы можете загрузить его точно в срок и добавить в кэш для дальнейшего использования.

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

...