我的应用程序下载pdf,然后按下按钮将其显示在新视图中。
我收到错误:
-[NSURL initFileURLWithPath:]: nil string parameter'
经过一些故障排除后,我将问题固定在此代码段中的某个位置。指向的路径位于下载pdf的/Documents
文件夹中。因此,该文件不在主要包中。
NSString *path = [[NSBundle mainBundle] pathForResource:PDFpathwithextension ofType:@"pdf"];
NSURL *url = [NSURL fileURLWithPath:path];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
以下是下载代码:
//Start an NSURL connection to download from the remotepath
NSData *pdfData = [[NSData alloc] initWithContentsOfURL:remotepathURL];
//Store the Data locally as PDF File
NSString *resourceDocPath = [[NSString alloc] initWithString:[[[[NSBundle mainBundle] resourcePath] stringByDeletingLastPathComponent] stringByAppendingPathComponent:@"Documents"]];
NSString *filePath = [resourceDocPath stringByAppendingPathComponent:[newdata.ThirdPickerName stringByAppendingFormat:@".pdf"]];
pdfData writeToFile:filePath atomically:YES];
答案 0 :(得分:0)
正如NSURL
告诉您的那样,您已将其移至nil
而非有效路径。
nil
这意味着该名称无法找到此类资源。实际上,你的问题表明你很清楚这一点。
由于您声称您的应用已经下载了PDF,它是否真的将其写入磁盘?如果是这样,您应该知道 生成的文件来自哪里。如果没有,您首先需要编写实际的下载代码!