PDF和MFMailComposeViewController

Pen*_*cil 4 pdf email-attachments ios mime-types mfmailcomposeviewcontroller

编写应用程序的一部分,允许用户生成pdf并发送它.似乎工作正常.发送的PDF在MAC上打开正常,但在iPhone上它只是保持加载而从未打开.在Ray Wenderlich Tutorial的帮助下创建了一个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];
Run Code Online (Sandbox Code Playgroud)

}

jce*_*ile 10

试试这种方式

 [picker addAttachmentData:myData mimeType:@"application/pdf" fileName:@"thePDF.pdf"]; 
Run Code Online (Sandbox Code Playgroud)

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