2011-12-06 5 views
0

私はユーザーが料理レシピをダウンロードできるアプリケーションを構築しています。各レシピには画像が添付されています。 dbはSqliteになり、ユーザーデバイスにローカルに展開されます。私はすべての画像をローカルデータベースで使用される「サポートされているファイル」フォルダの中に配置する予定です。iOSアプリを配布するデータベースを更新するには、アプリ自体を更新する必要はありませんか?

私の質問は、新しいバージョンを押し出すことなく画像を更新する方法です。サーバーデータベースに新しいレシピを追加し、そのレシピをユーザーに作成してもらいたいとします。

答えて

1

現在のレシピバージョンをリクエストするAPIが必要です。これを使用して更新を確認できます。例:

あなたがキャッシュされている画像/データベースを更新するためにあなたを伝えるHTTPレスポンスコードを返すことができる、またはあなたは、単に現在のバージョンの数をエコーするためにPHPを使用し、文字列一致するクライアントを行うことができ
http://api.mysite.com/isCurrentVersion?v=0.0.5 

このような側面、:

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 

Serverコード:

<?php 
    echo "current_version_number" 
?> 
+0

ありがとうございます!しかし、iTunesでアプリを更新することなく、iPhoneドキュメントフォルダに画像をダウンロードする方法がある。イメージはデータベースにはありませんが、イメージの名前のみがデータベースに格納されます。 – azamsharp

+0

@azamsharpはい、あなたのサーバー上のzipファイルにイメージを置いて、データベースでダウンロードして解凍してください。 objective-cにはかなりの数のzipライブラリがあります –

0

は、絵のいずれかがその最後のUPD以降に変更されたかどうかを確認するためにしばらくアプリのクエリ一度サーバーを持っていますated。私は、アプリケーションがmtimesでファイル名のリストを送って、サーバーに古くなったファイルのリストを送り返させることをお勧めします。あなたのアプリは古いファイルを置き換えて、新しいファイルをフェッチすることができます。

関連する問題