应用更新上的iOS方法



嗨,我想知道当应用程序更新类似于Androids onupgrade()时是否有任何方法。我在应用程序中使用了一个SQLite数据库,而新版本中的模式发生了很大变化。

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

没有API表示升级。您需要自己确定。有许多可能的方法。

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

这种方法使我可以与一段时间没有升级的用户打交道,并且模式可能需要进行多个修订。

最新更新