2013-08-02 44 views
1

你好,我是iOS的初學者在我的一個活動中,我想問.....我在屏幕上使用WebView ......顯示PDF並保存這個PDF,然後寫這個的代碼類型........如何在iPhone中找到PDF文件

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory , NSUserDomainMask, YES); 
NSString *documentsDir = [paths objectAtIndex:0]; 
NSString *pdfFilePath =[documentsDir stringByAppendingPathComponent:@"myPDF.pdf"];// your yourPdfFile file here 
NSLog(@"pdf file %@",pdfFilePath); 
NSURL *url = [NSURL fileURLWithPath:pdfFilePath]; 
UIDocumentInteractionController *docController = [UIDocumentInteractionController interactionControllerWithURL:url]; 

docController.delegate = self; 
[docController presentOpenInMenuFromRect:CGRextZero inView:self.view animated:YES]; 

當我們運行模擬器此代碼(使用Xcode的),那麼顯示的路徑和我的文檔文件夾中順利地拿到了這個PDF文件....... 但是,當我們運行iPhone設備這個代碼,然後我得到了這個類型的路徑......

/var/mobile/Applications/D33A80AA-C0AD-4211-ADE3-4906372CDA40/Documents/myPDF.pdf 

所以我不知道哪裏是我在iPhone設備PDF文件第二如何得到這個PDF和開放.....當我想......

+0

我們不能確定像模擬裝置的文檔文件夾中。我們只在您發佈時纔會獲得路徑 –

回答

0

如果你的PDF是在文件夾,您應該獲取這樣的路徑:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *basePath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil; 

不要試圖在模擬器中看到與絕對路徑相關的任何內容。

您可能在設備上找不到設備上的某個文件的原因之一是模擬器不區分大小寫,但該設備區分大小寫,因此請確保您的名稱完全匹配。

但是!請注意,Documents文件夾現在可能不是您想要存儲的東西 - 除非您確定要使用iCloud進行備份。 File System Programming Guide表示僅將文檔用於應用程序無法重新創建的文檔「關鍵」文檔。很多時候將它們存儲在用戶庫文件夾中是有意義的。在這種情況下,參數NSSearchPathForDirectoriesInDomains是:

(NSLibraryDirectory, NSUserDomainMask, YES)