iPhone: управление папками - PullRequest
1 голос
/ 17 июля 2010

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

Как мне этого добиться?

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

Ответы [ 3 ]

2 голосов
/ 17 июля 2010

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

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

Вы можете получить доступ к каталогу документов, используя:

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

Если вы хотите проверить версии, вы можете использовать элемент внутри XML, чтобы дать вам номер версии, или вы можете использовать дату последнего изменения.Примером версии может быть:

<myxml version="234">

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

1 голос
/ 17 июля 2010

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

1 голос
/ 17 июля 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...