你好我是iOS的初学者在我的一个活动中我想问.....我在屏幕上显示pdf使用WebView ......并保存这个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)