2013-08-02 49 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)