无法在iPhone

时间:2016-03-19 09:05:46

标签: ios nsstring nsurl

在我的一项活动中,我在屏幕上使用WebView显示了PDF,并尝试使用以下代码保存此PDF:

_pageSize = CGSizeMake(width, height);

    NSString *newPDFName = [NSString stringWithFormat:@"%@", name];

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

    NSString *pdfPath = [documentsDirectory stringByAppendingPathComponent:newPDFName];

    UIGraphicsBeginPDFContextToFile(pdfPath, CGRectZero, nil);
     NSLog(@"path=%@",pdfPath);

当我在iOS模拟器中运行此代码(使用Xcode)并显示路径时,我在文档文件夹中成功打开了此PDF文件,但是当我在iPhone中运行此代码时,我得到了这条路径:

  

/var/mobile/Applications/0AF98361-C8DF-4C35-9E9F-EE48555185BC/Library/354746396.pdf

那么存储在iPhone中的PDF文件在哪里?

3 个答案:

答案 0 :(得分:3)

  

" .. InDomains( NSLibraryDirectory ,NSUserDomainMask,YES);"

     

" ../的 /354746396.pdf"

您的路径正在查看NSLibraryDirectory,它应该像这样查看NSDocumentDirectory

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

如果仍然失败,请尝试以下代码:

NSString *documents = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
NSString *savePath = [documents stringByAppendingPathComponent:@"filename.pdf"];
NSLog(@"savePath: %@", savePath);

答案 1 :(得分:3)

- (void)viewDidLoad
{
    [super viewDidLoad];

    UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, 367)];
    webView.scalesPageToFit = YES;

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *documentsDirectory = [paths objectAtIndex:0]; 
    NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"myPDF11.pdf"];

    NSURL *targetURL = [NSURL fileURLWithPath:filePath];
    NSURLRequest *request = [NSURLRequest requestWithURL:targetURL];
    [webView loadRequest:request];

    [self.view addSubview:webView];
}

答案 2 :(得分:0)

我的编码是正确的,但我找不到pdf file.i将解决我的问题。我将在设备中找到我的pdf文件。 有两种方法可以找到pdf文件。 1)安装iexplorer filemanager software.than打开文档文件夹。 2)将您的设备连接到mac.select窗口菜单,然后在选择您的设备名称后点击xcode.than中的设备。选择您的应用程序。

enter image description here

选择show container.than,然后才能看到文档文件夹....