2010-07-17 3 views
1

Я не нашел ответа на этот вопрос в любом месте, но это похоже на типичную проблему: У меня в папке «Ресурсы» есть файл XML, в котором мое приложение должно показывать некоторые сведения. Но я должен проверить свой сервер, если на сервере появился более новый XML, поэтому я должен заменить свой XML (в папке ресурсов) для этой новой.iPhone: Управление папками

Как я могу это достичь?

Заранее благодарим за любую помощь!

ответ

2

Я не уверен, что вы получаете доступ на запись в раздел «Ресурсы». Лучший способ сделать это - загрузить папку в каталог «Документы». Затем, когда приложение проверяет загрузку XML-файла, оно должно увидеть, есть ли версия в каталоге документов и загрузите ее в первую очередь. Если он не находит замену, то он использует оригинальную версию.

Это означает, что исходный файл XML можно использовать, если есть некоторая проблема с загруженным. Что происходит, либо сеть обрезается и не заканчивается, либо сервер выдал неправильный файл xml, и он не проверяет.

Вы можете получить доступ к каталогу документа с помощью:

NSArray *docPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES); 
NSString *destinationpath = [docPaths lastObject]; 

Если вы желаете, чтобы проверить версии, вы можете использовать элемент внутри XML, чтобы дать вам номер версии, или вы можете использовать Last-Modified Дата. Примером версии может быть:

<myxml version="234"> 

Тогда вы можете проверить это значение.

+0

Я уже использую метод, который вы только что рекомендовали, но я думал, что могу заменить исходный файл. Если это не так, я рад узнать, что я не получаю доступ на запись в раздел «Ресурсы». спасибо – jcdmb

1

Вы можете позволить API, метод проверки самой последней измененной даты. И на клиентском сайте вы можете получить самую последнюю измененную дату XML-файла и сравнить с той, что есть на сервере. Вы можете получить описание XML-файла и вернуть true или false для замены.

+0

Собирайтесь попробовать это. Спасибо! – jcdmb

1

U нужно каким-то образом отличить новый XML от старого. Я предполагаю, что у вас есть механизм для этого. Как правило, какой-то узел Версии внутри XML. Если версия сервера и одна на ур-телефоне различаются, получите новый, ничего не делайте.

Смежные вопросы