1

ユーザーまたは管理者が動的に変更できるプリロードされたアプリ リソースを持つアプリケーションを開発しています。iTunes でアプリケーションを更新しないように、これらのアプリ リソースをアプリのドキュメント ディレクトリに配置する必要があります。

アプリケーションを初めて起動するときに、ローカル デバイスの Web サーバーからすべてのアプリ リソースをダウンロードする必要があるという問題に直面しています。

アプリのすべてのリソースを取得して最新の状態に保つための最良の方法を探していますか? 私を助けてください!

実際、問題は、ダウンロードする必要がある画像、html、css ファイルなどの何千ものリソースがあり、エンド ユーザーがサーバー上のデータを更新または維持する際に問題を感じる可能性があることです。データをダウンロードしてアップデートできる iOS のファイル転送プロトコル (ftp) ライブラリはありますか? または他の方法?

4

3 に答える 3

2

1)初めて、サーバーからすべてのレコードをサーバーの日付とともに取得します(nullサーバーがすべてのレコードを渡す場合、つまりアプリが初めて起動された場合は、日付パラメーターを確認してください)。

2) その日付を に保存しNSUserDefaultsます。

3)request日付がnullでない場合(リクエストが初めてではない場合)、2回目はその日付を渡します。

4) サーバーは、更新されたレコード (渡された日付より後のレコード) をチェックします。

    NSString *strTodaysDate = @"";
    if ([[NSUserDefaults standardUserDefaults] valueForKey:@"SyncDone"] != nil)
    {
         //If sync all data is done first time, then pass server date else pass empty date parameter.
         strTodaysDate = [NSString stringWithFormat:@"%@",[[NSUserDefaults standardUserDefaults] valueForKey:@"SyncDate"]];
    } //call web service with strTodaysDate as a parameter. 
于 2013-03-11T08:50:01.367 に答える
1

アプリケーションが起動するたびに、アプリケーションから簡単なリクエストを送信する必要があります。これにより、サーバーに更新について問い合わせます。サーバー上のコンテンツが更新された場合は、コンテンツをアプリケーションにリロードする必要があります。

もちろん、コンテンツに何らかの変更があったかどうかをサーバーが認識している必要があります。サーバーでの変更時間とアプリケーションでの最新のコンテンツ更新時間を追跡できます。

于 2013-03-11T08:43:46.770 に答える
1

このメソッドからアプリケーション デリゲートから Web サービスを呼び出すことで、データを更新できます。

- (void)applicationDidFinishLaunching:(UIApplication *)application 

{

// Web サービスを呼び出して、ドキュメント ディレクトリに保存します

}

于 2013-03-11T08:48:38.620 に答える