iPhone - Как синхронизировать новую версию приложения в магазине приложений и обновить базу данных? - PullRequest
1 голос
/ 04 августа 2011

Допустим, у меня есть база данных Huuge на сервере, который работает с версией моего приложения 1.0.
Затем я планирую изменить модель базы данных и выпустить версию приложения 2.0.

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

Итак ... как я могу синхронизировать обновление модели базы данных с доступностью приложения 2.0, если у меня есть способ деактивировать вызовы версии 1.0 на сервер (отказ от вызовов 1.0 и запрос пользователя на обновлениеприложение)?

Давайте рассмотрим пример.Вы выпустили приложение чата.Но через несколько месяцев суд обязывает вас спросить возраст пользователя?Но ... ваше приложение 1.0 не предназначено для этого.Таким образом, вы обновляете модель базы данных 1.0, чтобы она соответствовала возрасту, и выпускаете приложение 2.0, которое запрашивает возраст пользователя, если оно неизвестно.

В этом случае поддержка приложения 1.0 не является вариантом.Пользователи ДОЛЖНЫ обновить приложение, иначе служба может быть недоступна для них.

Таким образом, до дня суда вы все еще можете использовать приложение 1.0, но после этой даты и как только приложение 2.0 станет доступным,необходимо использовать приложение 2.0 и модель базы данных.

Ответы [ 2 ]

2 голосов
/ 05 августа 2011

Я управляю своими приложениями с помощью карты навигации, которая настроена для чтения версии и маршрутов сервера. Если вы беспокоитесь о том, что он должен быть активирован после его одобрения, то предыдущие загруженные версии потерпят неудачу. Поэтому вам нужно найти способ, чтобы обе версии работали, поскольку приложения не обновляются автоматически.

Теперь, чтобы решить вашу проблему, вы можете изменить порт, на котором вы слушаете, и соответственно обработать дату. Вы можете либо создать новый маршрут, который вы можете включить в новую версию, и проверить это на http-сервере и предоставить данные. Таким образом, вы не сломаете предыдущие версии.

EDIT:

Вы можете контролировать, когда приложение будет выпущено после его одобрения Apple. Так что до утверждения разрешите обе версии, а после утверждения внесите изменения в вашу базу данных, чтобы сломать 1.0 и выпустить приложение 2.0.

1 голос
/ 05 августа 2011

Итак, я предполагаю, что: - у вас нет возможности сообщить пользователю 1.0 (например, push-уведомление), что его приложение будет обновлено до новой версии, и что он больше не сможет использовать 1.0 - вы не делаетев любом случае заблокировать использование 1.0 (например, веб-сервис, который при запуске проверяет версию приложения и блокирует ее). Таким образом, единственный способ для вас - действовать следующим образом: - обновлять код 2.0, передавая все ваши веб-сервисыверсия приложения - обновите веб-сервис следующим образом: если параметр версии приложения не передан, то он равен 1.0, а затем возвращает «неверные значения» (например: пустые данные чата или поддельное сообщение чата, например «Пожалуйста, обновите приложение»);если версия приложения передана и является правильной (2.0), тогда передайте правильные значения.ВАЖНО: это поведение веб-службы контролируется флагом «RELEASED_2.0», изначально установленным на 0.

Итак, идея заключается в следующем: вы изменяете свой веб-сервис таким образом, что как только «Версия»передается параметр "Вы уверены, что это из обзора Apple, верно?в этот момент вы устанавливаете флаг RELEASED_2.0 на 1, и тогда ваш веб-сервис начнет работать «по-новому».Конечно, от обзора Apple до App в магазине пройдет несколько часов, но веб-сервисы и база данных уже будут вести себя как 2.0, даже если никто еще не загрузил их.Сразу после того, как приложение будет в магазине, все пользователи будут вынуждены его скачать.

Хитро, но должно работать ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...