2014-01-27 81 views
0

我試圖在UIWebview中顯示pdf,但出現錯誤。任何人都可以幫助我,爲什麼這不起作用?錯誤是:在UIWebview中打開pdf時出錯

*終止應用程序由於未捕獲的異常 'NSInvalidArgumentException',原因是: '* - [NSURL initFileURLWithPath:]:零字符串參數'


每個串的都是正確的,除了路徑這似乎是0長度,我不知道爲什麼。

NSArray *docPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentDirectory = [docPath objectAtIndex:0]; 

UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectMake(10, 10, 700, 500)]; 

NSString *path = [[NSBundle mainBundle] pathForResource:@"pdfDoc" ofType:@"pdf" inDirectory:documentDirectory]; 
NSURL *targetURL = [NSURL fileURLWithPath:path]; 
NSURLRequest *request = [NSURLRequest requestWithURL:targetURL]; 
[webView loadRequest:request]; 

[self.view addSubview:webView]; 

回答

1

你不能做到這一點:

NSString *path = [[NSBundle mainBundle] pathForResource:@"pdfDoc" ofType:@"pdf" inDirectory:documentDirectory]; 

因爲NSBundle只能獲得文件的路徑在包中,而不是在文件目錄(所以它返回nil,你會得到一個錯誤)。

如果文件在包中,只能按名稱搜索。如果該文件位於文檔文件夾中,請獲取該文件夾的路徑並追加名稱(stringByAppendingPathComponent:)。然後用該路徑創建文件URL。

+0

好 - 做了這份工作。謝謝 – RGriffiths