[英]How do I update a database I distribute with an iOS app, without updating the app itself?
我正在构建一个应用程序,用户可以在其中下载烹饪食谱。 每个食谱都附有图片。 该数据库将是Sqlite,它将在用户设备上本地部署。 我计划将所有图像放在“支持的文件”文件夹中,该文件夹将由本地数据库使用。
我的问题是我将如何更新图像而不必推出新版本。 假设我在服务器数据库中添加了一个新配方,并且希望用户拥有该配方,我将如何做到这一点?
您需要一个API来请求当前配方版本,您可以使用该API来检查更新。 例:
http://api.mysite.com/isCurrentVersion?v=0.0.5
那可以返回一个HTTP响应代码,告诉您更新已缓存的图像/数据库,或者您可以简单地使用php来回显许多当前版本,并与客户端进行字符串匹配,如下所示:
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"
?>
让您的应用程序不时查询服务器,以查看自上次更新以来是否有任何图片已更改。 我建议让该应用发送带有mtimes的文件名列表,并让服务器发送回旧文件列表。 然后,您的应用可以获取新文件,替换旧文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.