编写允许用户生成 pdf 并发送的应用程序部分。似乎工作正常。发送的 PDF 在 MAC 上可以正常打开,但在 iPhone 上它只会一直加载而永远不会打开。在 Ray Wenderlich 教程的帮助下创建了一个 pdf 文档,并通过带有 MFMailComposeViewController 实例的模态视图 Controller 将其发送出去。 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];
最佳答案
试试这个
[picker addAttachmentData:myData mimeType:@"application/pdf" fileName:@"thePDF.pdf"];
顺便说一句,如果您是在发送之前生成 PDF 内容,则无需保存到真正的 pdf 文件,只需发送 PDF 数据即可
关于ios - PDF 和 MFMailComposeViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12119524/