Webview не показывает изображения пакета на ios 5.1, работает на других версиях

Я разрабатываю приложение, которое показывает страницу и изображения из ресурсов приложения в веб-просмотре. Страница работает нормально, но изображения отсутствуют в iOS 5.1. Когда я тестирую его на iOS 4.3 или iOS 6.0, все работает как часы; изображения отображаются правильно. Кажется, что-то не так именно с этой версией системы. Вот код, который я использую:

NSString *imgPath = [[NSBundle mainBundle] pathForResource:currentImageName ofType:@"png"];
imgPath = [NSString stringWithFormat:@"%@%@",@"file://",imgPath];

content = [content stringByReplacingOccurrencesOfString: @"{}" withString:imgPath];
myData = [content dataUsingEncoding:NSUTF8StringEncoding];

[webView loadData:myData MIMEType:@"text/html" textEncodingName:@"UTF-8" baseURL:[NSURL URLWithString:@""]];

Контент — это строка с html. myData - это NSData с файлом html. Путь изображения генерируется правильно. Как я уже говорил, на iOS 4.3 и 6.0 все работает нормально.

Вот значения данных на эмуляторе iOS 5.1:

imgPath = file:///Users/deimos/Library/Application Support/iPhone Simulator/5.1/Applications/98C3911D-46D6-49B6-BADC-6B463619EF5E/myApplication.app/pl.lproj/image01.png

содержимое перед заменой URL-адреса изображения:

<body>
<center><img src="{}" /></center>
</body>

содержимое после замены URL-адреса изображения:

<body>
<center><img src="file:///Users/deimos/Library/Application Support/iPhone Simulator/5.1/Applications/98C3911D-46D6-49B6-BADC-6B463619EF5E/myApplication.app/pl.lproj/image01.png" /></center>
</body>

person Deimos    schedule 16.11.2012    source источник
comment
можете ли вы опубликовать значения imgPath и содержимого, когда код работает в iOS 5?   -  person Bek    schedule 16.11.2012
comment
Я добавил данные, которые вы запрашивали, к вопросу.   -  person Deimos    schedule 16.11.2012


Ответы (1)


Я нашел решение своей проблемы. В соответствии:

[webView loadData:myData MIMEType:@"text/html" textEncodingName:@"UTF-8" baseURL:[NSURL URLWithString:@""]];

передача пустой строки этому методу неверна. Его следует заменить на nil:

[webView loadData:myData MIMEType:@"text/html" textEncodingName:@"UTF-8" baseURL:[NSURL URLWithString:nil]];

С nil все работает нормально на любой версии системы.

person Deimos    schedule 19.11.2012