簡體   English   中英

如何更新通過iOS應用發布的數據庫,而不更新應用本身?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM