应用更新的iOS方法

时间:2014-01-28 19:27:51

标签: ios objective-c sqlite

您好,我想知道当应用程序更新时是否有任何方法被调用,类似于orroids onUpgrade()。我在我的应用程序中使用了SQLite数据库,并且新版本中的架构发生了很大变化。

如果旧版本在手机上,我通过Xcode运行新版本。它不起作用,因为旧表不对应。该应用程序与服务器同步,因此我不担心用户数据。所以我可以在更新时删除所有表。

1 个答案:

答案 0 :(得分:4)

没有API表示升级。你需要自己确定一下。有很多可能的方法。

我在基于sqlite的应用程序中做的是在数据库中有一个元数据表。它包含架构版本号。我根据我在代码中输入的硬编码版本号进行检查。如果它们不同,那么我知道数据库需要更新。我在我的应用程序中提供sql脚本,可以将任何先前的架构版本更新到当前版本。我只是运行与数据库中显示的版本匹配的脚本。

这种方法允许我处理暂时没有升级的用户,并且架构可能需要经过多次修订。