在新版本的应用程序中更改资源文件

时间:2010-05-11 19:22:53

标签: iphone file resources

我正在为现有的iphone应用程序进行更新。现有版本包含在应用程序中使用的.sql数据库文件。

我想在更新应用时使用此文件的新版本。在现有应用程序的第一次启动时,.sql文件放在用户iphone的caches目录中。根据Apple的文档我可以理解,当用户更新应用程序时,缓存目录中的文件可能从旧应用程序复制到新版本缓存目录。 这是否意味着为了确保我的新文件在更新版本中使用,我应该使用不同的文件名?

旧文件会发生什么?我是否必须从应用程序内手动删除它?这意味着我必须检查应用程序每次启动时是否存在?

由于 迈克尔

1 个答案:

答案 0 :(得分:0)

是的,您可以使用其他名称,也可以使用相同的名称,并在用户首次使用新版本时执行“升级”(删除和替换)。

这确实意味着在每个应用程序启动时进行检查,但这无论如何都不是一个坏主意。有一些代码可以在应用程序启动时检查版本控制,这样您就可以将任何数据升级内容放在一个位置。

一种技术是使用NSUserDefaults来保存两条信息:最初安装的应用版本以及最近运行的应用版本。你在启动时检查这些。如果他们不在那里,请写下他们两个。如果最新版本低于正在运行的应用程序版本,请运行升级并更新版本。你可以使用第一个标志在其他地方有条件地知道是否期望某些数据是否存在。明确存储版本控制可以让您知道您正在升级哪个版本,如果用户没有下载5个干预更新,那么这可能并不明显。