2009-10-12 5 views
0

Я хочу загрузить контент в свое приложение с веб-сервера, но если интернет недоступен, я хотел бы, чтобы у пользователя был доступ к загружаемому по умолчанию или к старому, загруженному контенту. Он будет отформатирован в формате XML. Я знаю, как загружать XML с веб-сервера в мое приложение, и я могу хранить XML-строку и перезагружать. Но как я могу «отправить» продукт с файлом данных XML по умолчанию? Я попытался создать новый ресурс с добавлением к проекту, но я не могу найти файл в каталоге моего приложения.Могу ли я добавить пользовательский XML-файл в мое приложение для контента по умолчанию?

Возможно ли это?

Хорошо, я вернусь к этой задаче. Я правильно загружаю XML с моего веб-сервера с URL-адресом, указывающим на файл сервера, однако, когда я обнаруживаю, что сеть «недоступна», я просто указываю URL-адрес на локальный XML-код моего приложения, и я получаю следующую ошибку. Я не могу найти подробное описание, но я думаю, что он говорит, что URL-адрес указывает на недоступное место. Я храню этот ресурс в неправильном месте? Я думаю, что хочу это в HomeDirectory/Library ??

отладочный вывод

loadMyXml: /var/mobile/Applications/950569B0-6113-48FC-A184-4F1B67A0510F/MyApp.app/SampleHtml.xml 

2009-10-14 22: 08: 17,257 MyApp [288: 207] Вах! Это не сработало. Ошибка домена = NSXMLParserErrorDomain Code = 5 "Операция не может быть выполнена. (NSXMLParserErrorDomain ошибка 5.)" 2009-10-14 22: 08: 17.270 MyApp [288: 207] Операция не может быть выполнена. (Ошибка NSXMLParserErrorDomain 5.)

+0

Это означает, что он возникли проблемы синтаксического анализа файла. Кроме того, это должен быть новый вопрос. –

ответ

1

Полностью! Просто включите его в свой проект и убедитесь, что он включен в фазу «Copy Bundle Resources». Затем он будет скопирован в ./YourApp.app/Contents/Resources/. Это будет работать как на Mac, так и на iPhone.

Вы можете легко восстановить его делать что-то вроде этого (если ваш файл называется «MyXMLFile.plist»):

NSString * pathToMyXMLFile = [[NSBundle mainBundle] pathForResource:@"MyXMLFile" ofType:@"plist"]; 
+0

Фантастический. Это сработало! Я добавил следующий журнал, и в результате атрибуты файла показали правильный размер файла 210 байтов. Теперь я могу написать свой код доступа. Я должен вам один ... \t NSString * pathToMyXMLFile = [[NSBundle mainBundle] pathForResource: @ "SampleHtml" ofType: @ "xml"]; \t NSError * errorFile = [[NSError alloc] init]; \t NSDictionary * attrs; \t attrs = [[NSFileManager defaultManager] attributesOfItemAtPath: pathToMyXMLFile error: & errorFile]; \t NSLog (@ "% @ \ n: \ n% @", pathToMyXMLFile, attrs); – mobibob