如何更新我使用iOS应用程序分发的数据库,而不更新应用程序本身?

时间:2011-12-06 16:11:14

标签: ios

我正在构建一个用户可以下载烹饪食谱的应用程序。每个食谱都附有图像。 db将是Sqlite,它将在本地部署在用户设备上。我计划将所有图像放在“支持的文件”文件夹中,该文件夹将由本地数据库使用。

我的问题是如何在不推出新版本的情况下更新图像。假设我在我的服务器数据库中添加了一个新配方,我想让用户拥有该配方,我将如何实现这一目标?

2 个答案:

答案 0 :(得分:1)

您需要有一个API来请求当前的食谱版本,您可以使用它来检查更新。例如:

 http://api.mysite.com/isCurrentVersion?v=0.0.5

这可以返回一个HTTP响应代码,告诉你更新你已经缓存的图像/数据库,或者你可以简单地使用php来回显一些当前版本,并做一下字符串匹配客户端,如下所示: / p>

 NSString *downloadedVersion = [[NSUserDefaults standardUserDefaults] stringForKey:@"version"];
 NSString *serverVersion = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"http://api.mysite.com/currentVersion"]];

 if ([downloadedVersion caseInsensitiveCompare:serverVersion])
      // download the new version

服务器代码:

 <?php
    echo "current_version_number" 
 ?>

答案 1 :(得分:0)

让您的应用程序偶尔查询服务器,以查看自上次更新后是否有任何图片发生了变化。我建议让应用程序发送一个文件名列表及其mtimes,并让服务器发回一个陈旧文件列表。然后,您的应用可以获取新文件,替换旧文件。