Странное поведение webview + baseurl - PullRequest
0 голосов
/ 16 августа 2011

Этот фрагмент кода:

NSString *content = @"<html><head></head><body bgcolor=#AAAAAA></body></html>";
[wv loadHTMLString:content baseURL:[NSURL URLWtihString:@""];

не работает с любым другим baseURL, кроме одного, написанного выше (даже с нулем).Такое поведение не позволяет мне использовать локальные данные в моих веб-представлениях.Может ли кто-нибудь помочь с этим?В случае, если я установил любой другой baseURL, контент просто не загружается

1 Ответ

2 голосов
/ 16 августа 2011

Кроме предложения того, что я использую в своем коде:

[webView loadHTMLString:[....
               baseURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]]];

Я не могу много сделать. Использование [[[NSBundle mainBundle] bundlePath] stringByDeletingLastPathComponent] не правильно, потому что таким образом вы перемещаетесь вверх и за пределы пакета приложений, но поскольку вы говорите, что пробуете много вариантов, я не уверен, что может быть.

Если вы хотите попытаться выяснить, что происходит с вашим baseURL, переопределите webView:shouldStartLoadWithRequest: и посмотрите, какие файлы пытается открыть ваше веб-представление.

EDIT:

если вам нужен доступ к папке «Библиотека» вашего приложения, это путь ( источник )

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
NSString *libraryDirectory = [paths objectAtIndex:0];
[webView loadHTMLString:[....
               baseURL:[NSURL fileURLWithPath:libraryDirectory]];

В любом случае, из вашего комментария: «они были ранее загружены моим приложением», вы уже должны знать, как туда попасть ... в любом случае, я предлагаю еще раз проверить, к каким файлам вы пытаетесь получить доступ в webView:shouldStartLoadWithRequest: .. .

...