如何从iphone中的本机App加载本地html

时间:2011-01-25 05:09:25

标签: iphone uiwebview

我在项目下的'www'文件夹中有一个html文件'sample.html'。如何从本机App加载此文件..

我搜索了很多网站,给定的样本是来自“资源”的文件。请帮助我...

谢谢, 巴拉斯

3 个答案:

答案 0 :(得分:2)

如果您从App捆绑包中加载www文件夹并不重要,因为构建过程将所有捆绑文件都放在同一目录中。

在你的UIViewController中尝试使用这样的东西......

如果您从App Bundle

加载
UIWebView *webView = [[UIWebView alloc] initWithFrame:self.view.bounds];
NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"page.html" ofType:@""]];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];   
[webView loadRequest:requestObj];
[self.view addSubview:webView];
[webView release];

如果您在文档目录中加载www文件夹(在示例中)

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentDirectory = [paths objectAtIndex:0];
NSString *yourFilePath = [NSString stringWithFormat:@"%@/www/page.html", documentDirectory];
NSURL *url = [NSURL fileURLWithPath:yourFilePath];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];   
[webView loadRequest:requestObj];
[self.view addSubview:webView];
[webView release];

希望这会有所帮助。侨!

答案 1 :(得分:1)

您可以参考Phonegap源代码:

PhoneGapDelegate.m

特别是这一行以及如何从www文件夹中获取文件:

    NSURL *appURL = [NSURL fileURLWithPath:[PhoneGapDelegate pathForResource:@"index.html"]];

答案 2 :(得分:0)

如果您的版本将此文件复制到应用程序包中,则会将其复制到mainBundle,而不是www目录。