从XCode调用本地HTML文件时出现问题

时间:2011-03-21 16:28:35

标签: objective-c file uiwebview local

这是我的WebView代码:

[webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:
[[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"]isDirectory:NO]]];

这是我的错误:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', 
reason: '*** -[NSURL initFileURLWithPath:isDirectory:]: nil string parameter'

有人可以帮忙吗?它是说nil字符串,但NSURL字符串是index.html

我唯一想到的可能是索引文件未正确存储。它位于项目目录中 - 与XCode项目文件xcodeproj和info.plist相同的文件夹

2 个答案:

答案 0 :(得分:4)

检查文件是否已复制到应用程序包中。当[[NSBundle mainBundle] pathForResource:ofType:]非常可能返回nil时,捆绑包中没有此名称的文件

在Xcode3中,右键单击侧栏中的“Groups& Files”标题,然后选择“目标成员资格”。确保选中index.html前面的复选框。

答案 1 :(得分:1)

URL必须定义如何获取信息,而不仅仅是文件的调用方式。这意味着您必须指定完整的网址,例如http://www.something.com/index.html或file:///Users/Daniel/Sites/index.html。您指定的是 URI 而非 URL

有关网址和URI的区别:http://www.damnhandy.com/2007/11/19/uri-vs-url-whats-the-difference/

NSURL的Apple文档:http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSURLRequest_Class/Reference/Reference.html