无法使用[[NSBundle mainBundle] pathForResource ofType inDirectory]加载文件

时间:2014-07-02 17:54:20

标签: ios uiwebview nsbundle mainbundle

我有一个目录,其中包含我需要添加到项目中的网站。我将使用uiwebview加载它。

我尝试了几种方法来添加它,都不成功。这是我尝试的最后一种方式:

将整个网站目录复制到我的项目目录(实际的物理文件夹)。 之后,将目录拖到我的xcode项目中,勾选“为任何添加的文件夹创建文件夹引用” 然后我看了“构建阶段 - >复制捆绑资源 - > ...”,我发现它就在那里

加载我的网页时:

-(void)loadUrl
{
NSString *str = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html" inDirectory:@"websiteDir"]; // THIS IS RETURNING NIL!
    NSURL *url = [NSURL URLWithString:str];
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    [self.webView loadRequest:request];

}

我做错了什么?

1 个答案:

答案 0 :(得分:1)

这是错误的:

你得到str作为路径然后调用URLWithString ...但是str不是URLString而是路径

使用url = [NSURL fileUrlWithPath:str]

或者使用方法- (NSURL *)URLForResource:(NSString *)name withExtension:(NSString *)extension subdirectory:(NSString *)subpath


样品

 -(void)loadUrl {
    NSURL *url = [[NSBundle mainBundle] URLForResource:@"index" withExtension:@"html" subdirectory:@"websiteDir"];
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    [self.webView loadRequest:request];
}