У меня есть приложение, которое позволяет вам загружать «модули», которые могут расширить использование вашего приложения.
Когда пользователь загружает модуль, я получаю ZIP-файл с сервера и извлекаю его в папку Caches. (Каждый из этих почтовых индексов может иметь размер от 60 КБ до 2 МБ ).
К сожалению, доступно более 300 модулей, и многие пользователи загружают как минимум 50 -60 из них на свои устройства.
В последнее время я получил много жалоб на то, что модули просто исчезают с пользовательского устройства, поэтому я провел небольшое расследование и наткнулся на следующую формулировку в документации Apple.
iOS will delete your files from the Caches directory when necessary, so your app will need to degrade gracefully if it's data files are deleted.
А также следующую статью, объясняющую дальнейшую ситуацию: http://iphoneincubator.com/blog/data-management/local-file-storage-in-ios-5
Моя проблема в том, что у меня нет реального способа изящно деградировать , так как я не могу автоматически позволить пользователю загружать так много модулей. Это может занять несколько часов в зависимости от интернет-соединения и размера модулей.
Итак, у меня есть несколько вопросов:
Это действительно разочаровывающий шаг со стороны Apple, и я не вижу выхода. Очень хотелось бы услышать некоторые идеи от вас.