2013-10-11 4 views
0

Если у меня есть приложение, которое предварительно загружает базу данных при ее первом запуске, есть ли способ, чтобы затем опубликовать версию для обновления только для приложения?Публикация обновления только для Apple App Store

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

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

Я просмотрел Google и не могу найти ответ - но, возможно, я просто не использую правильные условия!

+1

Возможно, вам будет полезно узнать, что возможно: https://developer.apple.com/library/ios/qa/qa1779/_index.html Я не думаю, что можно добиться того, чего вы хотите. – SolidSun

+0

"пакет обновления содержит инструкции о том, как преобразовать предыдущую версию приложения в новую версию приложения" - может ли это быть то, что я ищу? – Joshua

+0

Эти инструкции автоматически генерируются хранилищем приложений путем сравнения ваших новых и старых пакетов приложений. Вы не можете напрямую предоставить эти инструкции. – SolidSun

ответ

0

При создании обновления для приложения ваше приложение должно будет проверить, есть ли у пользователя уже база данных в папке «Документ». Если этого не существует, ваше обновленное приложение скопирует базу данных по умолчанию из пакета Application Bundle.

Кроме того, если вы добавили функции в приложение, новую таблицу или столбцы в существующую схему базы данных, было бы неплохо использовать Core Data Model Versioning and Data Migration.

Отрывок из компании Apple Docs - Reducing Download Size for iOS App Updates:

  • Начиная с прошивкой 6, приложение магазин будет автоматически производить пакет обновления для всех новых версий приложений, представленных в магазине.
+0

Спасибо, получилось, но то, что я действительно пытался получить, - это фактическая загрузка, а не сама база данных. То же самое можно применить и к любому типу файлов - я хочу, чтобы пользователь не должен повторно загружать 30-мегабайтный файл, который у них уже есть. Это, как говорится, я также прочитал ваш последний пункт из документов об автоматическом создании пакета обновлений, но не совсем понял из документов, будет ли это охватывать мою основу. – Joshua

+1

В основном вы просто упаковываете свое приложение для обновления и отправляете в AppStore. Когда пользователь переходит к обновлению установленного приложения на своем устройстве, AppStore отправляет только новые/измененные файлы. Таким образом, уменьшается размер пакета загрузки. –

+0

Спасибо за разъяснение. Поэтому я предполагаю, что мой первоначальный вопрос будет не ответом, а затем (в моем случае), поскольку мой пакет базы данных будет технически отличаться при публикации обновления, поэтому он будет включен в сгенерированный пакет обновления. Дох ... это не хорошо. – Joshua

Смежные вопросы