[英]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.