UIWebView无法加载本地网页

时间:2013-01-25 02:44:56

标签: ios objective-c uiwebview nsbundle

我有一个超级简单的网页,我只想加载一个本地文件。该文件是/Resources/About.html

这是我的代码:

NSString *urlPath = [[NSBundle mainBundle] URLForResource:@"About" withExtension:@"html"];
NSURL *url = [NSURL fileURLWithPath:urlPath];
NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url];
[webView loadRequest:urlRequest];

怎么了?

3 个答案:

答案 0 :(得分:3)

方法URLForResource:withExtension会返回NSURL,而不是NSString。您可以直接在请求中使用结果。

NSURL *URL = [[NSBundle mainBundle] URLForResource:@"About" withExtension:@"html"];
[webView loadRequest:[NSURLRequest requestWithURL:URL]];

答案 1 :(得分:0)

NSString * urlPath = [[NSBundle mainBundle] pathForResource:@"About" ofType:@"html"];
NSString *content = [NSString urlPath encoding:NSUTF8StringEncoding error:nil];
[webView content baseURL:[NSURL urlPath]];

答案 2 :(得分:0)

我打赌URLForResource正在返回nil(你能确认它不是吗?)。它不会执行递归搜索,如果您的“Resources”文件夹是实际文件夹(XCode中为蓝色)而不是组(Xcode中为黄色),则会失败。尝试使用主要包resourceURL并将您的路径添加到其末尾。