iPhone - 如何将可用的新app版本同步到appstore和数据库升级?

时间:2011-08-04 19:45:14

标签: iphone database synchronization app-store appstore-approval

假设我有一个Huuge数据库到服务器上,该服务器可以使用我的应用程序的1.0版本 然后我计划更改数据库模型并发布2.0版本的应用程序。

当我提交我的2.0应用程序时,应用程序将有一天可用于appstore。我不知道那一天,也不知道它可以下载的小时 - 秒 - 秒。

那么......假设我有办法停用1.0版本的服?

我们举一个例子。你发布了一个聊天应用程序但是在一些时间之后,法院会要求你询问用户的年龄?但是......你的1.0应用程序不是为了问这个。因此,您更新1.0数据库模型以携带年龄,并发布一个2.0应用程序,询问用户的年龄,如果不知道。

在这种情况下,维护1.0应用程序不是一种选择。用户必须更新应用程序,否则服务可能已关闭。

因此,在判断之前,您仍然可以使用1.0应用程序,但在该日期之后,只要2.0应用程序可用,就必须使用2.0应用程序和数据库模型。

2 个答案:

答案 0 :(得分:2)

我使用配置为读取版本和服务器路由的navmap控制我的应用程序。如果您担心它应该在批准后激活,那么之前下载的版本将失败。因此,您需要找到一种方法,这两种版本都可以在应用程序无法自动更新时起作用。

现在要解决您的问题,您可以更改您收听的端口并相应地提供日期。您可以创建一个可以包含在新版本中的新路由,并在http服务器上检查并提供数据。这样你就不会破坏以前的版本。

编辑:

您可以控制苹果批准后何时发布应用程序。因此,直到批准允许两个版本,并且一旦批准对数据库进行更改以降低1.0并释放应用程序2.0。

答案 1 :(得分:1)

所以我认为: - 你无论如何都没有通知1.0用户(例如:推送通知)他的应用程序将更新到新版本并且他不能再使用1.0 - 你无论如何都没有阻止1.0的使用(例如:启动时检查应用程序版本并阻止它的Web服务) 因此,唯一的方法是以这种方式进行: - 通过将所有Web服务传递给应用程序版本来更新2.0代码 - 以这种方式更新Web服务:如果未传递app版本参数,则为1.0,然后返回“破损值”(例如:空聊天数据或虚假聊天消息,如“请更新应用程序”);如果应用程序版本已通过并且是正确的(2.0),则传递正确的值。重要信息:此Web服务行为由“RELEASED_2.0”标志控制,最初设置为0.

所以这个想法如下:你改变你的网络服务,一旦“版本参数”通过,你就确定它来自Apple评论,对吧?此时,您将RELEASED_2.0标志设置为1,然后您的Web服务将以“新方式”开始运行。 当然,从Apple评论到商店中的App将会过几个小时,但即使没有人下载它,Web服务和数据库也会表现为2.0。应用程序进入商店后,所有用户都将被迫下载。

整蛊,但应该工作......