2013-03-11 1 views
1

Я разрабатываю приложение, у которого есть предварительно загруженные ресурсы приложения, которые могут быть динамически изменены пользователем или администратором, я должен поместить эти ресурсы приложения в каталог документов моего приложения, чтобы он не заставьте меня обновить приложение на itunes.Обновление ресурсов приложений с сервера в iOS

Проблема с тем, что мне приходится загружать все ресурсы приложений с веб-сервера на локальном устройстве, когда приложение запускается в первый раз.

Я ищу лучший способ для извлечения всех ресурсов своего приложения и обновления его обновления? Пожалуйста, помогите мне!

На самом деле проблема заключается в том, что у меня есть тысячи ресурсов, таких как изображения, html и css-файлы, которые необходимо загрузить, а конечный пользователь может почувствовать проблему при обновлении или сохранении данных на сервере. Есть ли библиотека протокола передачи файлов (ftp) в iOS для загрузки данных и обновления? или любым другим способом?

+0

Ну, вы можете сделать запрос на ваш сервер для получения всего необходимого ресурса при запуске приложения. –

ответ

1

Необходимо отправить простой запрос из приложения каждый раз при запуске приложения, которое будет запрашивать сервер об обновлениях. Если ваш контент на сервере был обновлен, вам необходимо перезагрузить свой контент в приложении.

Конечно, ваш сервер должен знать, были ли какие-либо изменения в содержании. Вы можете отслеживать время изменений на сервере и время последнего обновления контента в приложении.

+0

Спасибо за ваш ответ, поэтому мне нужно создать xml или json на сервере для поддержки контроля версий? Но будет ли очень важно, чтобы пользователь вручную поддерживал xml или json? –

+0

Еще один вопрос: мне нужно загружать файлы один за другим с сервера или есть ли другой способ для загрузки всех файлов одновременно? –

+0

Пользователь не должен ничего знать о реализации. Вы можете передать приложение просто «ДА» или «НЕТ», а затем автоматически загрузить контент или спросить пользователей, хочет ли сыворотка загружать обновление. – zakhej

1

Вы можете обновить данные вашего путем вызова веб-службы из приложения делегата от этого метода

- (void)applicationDidFinishLaunching:(UIApplication *)application 

{

// сделать вызов веб-службы и сохранить его в каталоге документов

2

1) Первый раз, возьмите все r ecords от сервера вместе с датой сервера (параметр контрольной даты, если null, тогда сервер передает все записи, то есть запускается первое приложение).

2) Храните эту дату в NSUserDefaults.

3) Второе время пропустите эту дату, пока request, если дата не является нулевой (запрос не первый раз).

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. 
+0

Спасибо за ваш ответ, поэтому веб-служба отправит любой xml или json в ответ? –

+0

Да ответ сервера содержит XML/JSON, это зависит от анализа синтаксического анализа. – Girish

+0

Каждая таблица на стороне сервера содержит два поля даты, LastModified & Created date. Когда какое-либо изменение произошло в любой строке, тогда измените LastModifiedDate и сравните LastModifiedDate с датой, которую мы передали как параметр веб-службе. – Girish