4

编写允许用户生成 pdf 并发送的应用程序部分。似乎工作正常。发送的 PDF 在 MAC 上可以正常打开,但在 iPhone 上它只是不断加载并且永远不会打开。在 Ray Wenderlich 教程的帮助下创建了一个 pdf 文档,并通过带有 MFMailComposeViewController 实例的模态视图控制器将其发送出去。WTF我做错了吗。

更新:PDF 也可以在 Ipad 上正常打开。问题可能出在创建 PDF 的代码中吗?我也有点不清楚我是否真的在创建一个持续存在的 PDF,然后在同名文件的每个新版本之后被替换,或者我是否以某种方式欺骗编译器认为文档正在被存储以便我可以发送它尽可能少的代码。

对此的任何想法将不胜感激。

查看代码:

if ([MFMailComposeViewController canSendMail])

{
MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
picker.mailComposeDelegate = self;

[picker setSubject:@"mail test"];

NSString* fileName = @"Invoice.PDF";
NSArray *arrayPaths =
NSSearchPathForDirectoriesInDomains(
                                    NSDocumentDirectory,
                                    NSUserDomainMask,
                                    YES);
NSString *path = [arrayPaths objectAtIndex:0];
NSString* pdfFileName = [path stringByAppendingPathComponent:fileName];
NSData *myData = [NSData dataWithContentsOfFile:pdfFileName];

[picker addAttachmentData:myData mimeType:@"application/pdf" fileName:@"the PDF"];
[self presentModalViewController:picker animated:YES];

}

4

1 回答 1

10

试试这个方法

 [picker addAttachmentData:myData mimeType:@"application/pdf" fileName:@"thePDF.pdf"]; 

顺便说一句,如果您在发送之前生成 PDF 内容,则无需保存为真正的 pdf 文件,只需发送 PDF 数据即可

于 2012-09-10T06:44:51.680 回答