從官方文檔上NSURL
official documentation on NSURL
。
發送nil
作爲參數fileURLWithPath:
會產生異常。
然後問題實際上是[[NSBundle mainBundle] pathForResource:ofType:]
。這返回nil
,而不是文件的實際路徑。
這裏的問題實際上是[NSBundle mainBundle]
是指與您的應用捆綁在一起的文件。您需要查看應用程序的文檔目錄,這是存儲它下載的文件的位置。
這種方法會給你的路徑,你的應用程序的文件目錄:
NSString* documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];
現在,只需追加文件名添加到該路徑:
NSString *pdfPath = [documentsPath stringByAppendingPathComponent:@"3.pdf"];
和良好的措施(因爲崩潰是總是不好),請確保文件存在:
BOOL fileExists = [[NSFileManager defaultManager] fileExistsAtPath:pdfPath];
並完成:
if (fileExists) {
NSURL *urlen = [NSURL fileURLWithPath:pdfPath];
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:urlen];
[webView loadRequest:urlRequest];
[webView setScalesPageToFit:YES];
} else {
// probably let the user know there's some sort of problem
}
究竟發生了什麼?你有任何錯誤?什麼都顯示? – nhgrif
嗨,是啊忘了寫他們...... ;-) 我得到:「線程1:信號SIGABRT」 它的工作原理是,如果我從一開始就把pdf文件作爲ind文件夾,但是當我從網上下載pdf時,它使這個錯誤... – Jansen82
有很多更多的信息與該錯誤相關...它實際上發生了什麼?什麼是實際的堆棧跟蹤? – nhgrif