我只是想设计一个数据库模式升级方案(对于使用专有数据库的一系列应用程序)。我想要的是一种简单的方法来确定应用程序是否已重新安装在手机上,使用与以前版本不同的 Xcode 生成的应用程序版本,这样我们只有在有发生了变化。
我考虑过简单地使用时间戳__DATE__
并__TIME__
存储在应用程序设置中,但这仅捕获包含常量的模块的编译日期,并且可能会错过未强制该模块重新编译的构建。而且我想可以使用捆绑文件上的日期,但这似乎有点不稳定。(任何与该方案有关的经验将不胜感激。)我寻找存储在捆绑包中的构建日期,但到目前为止还没有找到任何东西。
实际上,查看安装版本和编码版本之间是否存在不匹配的成本太高,无法在每次启动时进行。
当然,我试图避免需要在应用程序中手动修改版本标识符的方案,因为人类倾向于在激烈的战斗中忘记这些事情。
(我相当有信心有人会很快“欺骗”这个问题。我不介意只要被欺骗者真的在解决我的问题,而不仅仅是遇到相同关键字的问题。)