2012-06-30 56 views
0

我正在嘗試使用下面的代碼爲Cocoa項目(而不是iOS項目)加載本地pdf文件。使用webView找不到pdf文件

NSString* filePath = [[NSBundle mainBundle] pathForResource:@"testPDFFile" 
                ofType:@"pdf" 
               inDirectory:@""]; 
NSURL* fileURL = [NSURL fileURLWithPath:filePath]; 
NSURLRequest* request = [NSURLRequest requestWithURL:fileURL]; 
[[webView mainFrame] loadRequest:request]; 

我可以看到正在加載WebView對象,但文檔未顯示。它看起來像出口連接正確。

我試着將文件移動到各個目錄位置,並試圖在inDirectory參數中指定一個目錄。

目前,該文件位於「支持文件」目錄中。如果我更改inDirectory以讀取... inDirectory:@「Supporting Files」];我收到一個錯誤,說......「[NSURL initFileURLWithPath:]:nil字符串參數」

如何獲取此語句以查找並顯示我的文件?

回答

1

嘗試:

NSString* filePath = [[NSBundle mainBundle] pathForResource:@"testPDFFile" 
                ofType:@"pdf"]; 

長,因爲你是在自己的包訪問資源,你不必設置(國外)包目錄。

+0

謝謝,我一直在努力,仍然沒有工作。我使用NSLog打印了字符串,它正在尋找目錄myApp/Contents/Resources/testPDFFile.pdf中的文件。在我的文件瀏覽器中,myApp下沒有目錄目錄。 – K17

+0

@ K17:這是一個問題,因爲Mac應用程序包應該有一個內容目錄。該目錄應該包含Info.plist文件,包含可執行文件的MacOS目錄以及Resources目錄。 –

+1

更現代的方法是['URLForResource:withExtension:'](http://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSBundle_Class/Reference/Reference.html#//apple_ref/occ/instm/NSBundle/URLForResource:withExtension :)(或['URLForResource:withExtension:subdirectory:'](http://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSBundle_Class /Reference/Reference.html#//apple_ref/occ/instm/NSBundle/URLForResource:withExtension:subdirectory :))。 –