iOS通过创建pdf获得错误

我想创建一个pdf文件,但我得到2个错误:

: CGDataConsumerCreateWithFilename: failed to open `/test.pdf' for writing: Operation not permitted. deflateEnd: error -3: (null). 

和这个

 : CGPDFContextCreate: failed to create PDF context delegate. 

我计算控制器类中的路径

 - (void)viewDidLoad { documentName = @"test.pdf"; NSArray *arrayPaths = NSSearchPathForDirectoriesInDomains( NSDocumentDirectory, NSUserDomainMask, YES); NSString *path = [arrayPaths objectAtIndex:0]; NSString* pdfFileName = [path stringByAppendingPathComponent:documentName]; url = [NSURL fileURLWithPath:pdfFileName]; PDFRenderer *pdf = [[PDFRenderer alloc]initWithFileName:documentName]; [pdf renderPDF]; [super viewDidLoad]; } 

在渲染类我称之为

 UIGraphicsBeginPDFContextToFile(documentName, CGRectZero, nil); 

function,我得到错误。

我如何解决这个错误?

您正在写一条相对路径,尝试将其更改为

 PDFRenderer *pdf = [[PDFRenderer alloc]initWithFileName:pdfFileName]; 

即文档目录中的绝对路径。

如果查看错误消息,您将看到正在尝试将文件写入根目录。