iPhone - загрузка локальных изображений из локального XML-файла - PullRequest
0 голосов
/ 19 мая 2009

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

NSString * path = [[NSBundle mainBundle] resourcePath];

Это загружается (я знаю, потому что я могу проследить это) / Пользователи / Я / Библиотека / Поддержка приложений / iPhone Simulator / Пользователь / Приложения / 5B888456-40FF-4C72-A2ED-5D5CFA287777 / MyApp.app / test.xml

Это изображение никогда не загружается (и не загружается): / Пользователи / Я / Библиотека / Поддержка приложений / iPhone Simulator / Пользователь / Приложения / 5B888456-40FF-4C72-A2ED-5D5CFA287777 / MyApp.app / background.png

Ответы [ 6 ]

3 голосов
/ 20 ноября 2010

В комментарии вы говорите, что составляете NSURL для пути. Чтобы сделать это для пути локальной файловой системы, например, файла в вашем пакете, вам нужно использовать NSURL fileURLWithPath:.

3 голосов
/ 19 мая 2009

Вы можете использовать [UIImage imageNamed:@"background.png"].

Это загрузит background.png (который должен находиться в вашей папке ресурсов в Xcode).

1 голос
/ 19 ноября 2010

Что-то вроде

UIImage *testimg = [UIImage imageNamed:myfilename];

if (nil==testimg) [testimg initWithContentsOfURL:myurl];

Я сейчас не в компиляторе, поэтому не могу проверить, нужно ли вам загружать его в объект NSData перед тем, как сделать его изображением. Вы также должны поместить initWithContents ... в блок try ... catch ... finally.

1 голос
/ 19 ноября 2010

Здесь есть две возможности:

1) Либо ваше имя файла изображения не соответствует. Это означает, что имя файла чувствительно к регистру. Так что может быть проблема заглавных букв.

2) Возможно, вы не отметили имя цели в свойстве изображения. Это означает, что ваши изображения не являются частью цели вашего проекта, который вы компилируете. Чтобы убедиться в этом, щелкните правой кнопкой мыши на любом имени изображения внутри вашего объекта XCode -> выберите «Получить информацию» -> выберите вкладку «Цели» в диалоговом окне «Сведения о файле» -> проверьте состояние флажка рядом с целевыми именами. В случае, если он выбран / проверен, то возникает странная проблема. Но если он не выбран / не отмечен, это означает, что изображение не добавляется в файл пакета, который создается после компиляции.

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

0 голосов
/ 24 ноября 2010

NSURL * imageURL = [NSURL URLWithString: @ "пакет: //background.png"];

0 голосов
/ 19 ноября 2010

Привет Используйте следующий код

[UIImage imageWithContentsOfFile: [[NSBundle mainBundle] pathForResource: @ "background" ofType: @ "png"]];

...