Objective-C - использовать онлайн-константы в приложении - PullRequest
1 голос
/ 25 ноября 2011

У меня есть приложение, которое получает данные (XML) из источника, который я не могу контролировать. Это означает, что источник может в любое время изменить теги XML, что сделает мое приложение бесполезным (и, возможно, даже приведет к его аварийному завершению).

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

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

1 Ответ

0 голосов
/ 25 ноября 2011

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

Я создал xml-файл с помощью редактора plist, сохранил его в двоичном формате и отправил по FTP на мой сервер. Я сделал верхний элемент словарем и загрузил его:

+ (id)dictionaryWithContentsOfURL:(NSURL *)aURL

Я думаю, что есть терминальная команда для преобразования текстового двоичного plist:

plutil -convert binary1 some_other_file.plist

Apple раньше поставляла «Редактор списков свойств» как часть XCode, но они больше не делают - Bad Apple. Существуют и другие редакторы списков, такие как PlistEdit Pro, которые предпочитают сохранять в XML, ASCII, JSON или Binary.

...