Ios 使用我自己的应用程序从iPad以附件形式发送单页pdf文件

Ios 使用我自己的应用程序从iPad以附件形式发送单页pdf文件,ios,ipad,Ios,Ipad,在我的ios应用程序中,用户可以将pdf文件作为附件发送到其他应用程序。它在ios 7之前的设备上工作。升级到ios 7后,当应用程序显示ios邮件界面时,附件丢失 下面是我用来设置mime类型的代码: [mailComposer addAttachmentData:pdfData mimeType:@"application/octet-stream" fileName:fileName]; 上面的mime类型在ios 7之前的版本中非常有效,但在ios 7上它没有将我的文件作为附件。因此,

在我的ios应用程序中,用户可以将pdf文件作为附件发送到其他应用程序。它在ios 7之前的设备上工作。升级到ios 7后,当应用程序显示ios邮件界面时,附件丢失

下面是我用来设置mime类型的代码:

[mailComposer addAttachmentData:pdfData mimeType:@"application/octet-stream" fileName:fileName];
上面的mime类型在ios 7之前的版本中非常有效,但在ios 7上它没有将我的文件作为附件。因此,我更改了mime类型,如下所示:

[mailComposer addAttachmentData:pdfData mimeType:@"application/pdf" fileName:fileName];
它在ios 7和ios 7之前的设备上运行良好,但问题是,在iPad上,如果附加的pdf文件只有一页,那么它将被视为内联图像而不是附件。这种情况只发生在iPad和iPhone上,这很好。此外,如果我将邮件发送给某个人,当他们在iphone或ipad上打开该邮件时,收件人端也会显示类似内联图像的内容。因为当他们点击它时,它允许两个选项1。保存图像2。取消。此外,这个问题与ios 7 ipad设备无关,它发生在所有在ios 5、ios 6、ios 6.1和ios 7下运行的ipad设备上。知道怎么解决吗?。我应该使用什么mime类型来解析它

注:- 有关更多信息,请查看附带的屏幕截图


-loganathan

使用纯文本消息正文,pdf将显示为普通文件附件

[mailController setMessageBody:body isHTML:NO];

我有时在OSX上的mail.app上也会遇到同样的问题,并将该文件压缩成zip文件作为解决方法。也许这是一种选择?

我对单页PDF也有同样的问题。只需将mimeType更改为text/pdf而不是application/pdf,它就可以工作了。无需进一步更改

[objMailComposer addAttachmentData:myData mimeType:@"text/pdf" fileName:@"myapp.pdf"];

我相信这是预期的(定义的)功能。@Wain,如果这是预期的功能,那么还有其他方法可以实现吗?。因为我的应用程序用户希望将文件(单页pdf或多页plage)作为附件发送,而不是像内联图像那样发送。任何解决方案都将受到极大的赞赏。@Wain,我也不知道为什么mime类型“application/octet stream”在ios 7设备上不起作用。它完全忽略了附件。在ios 7中,他们希望根据文件名?选择正确的mime类型?。如果文件类型为“pdf”,则应用程序/pdf等。不确定mime类型是否更改。您可以尝试二进制数据mime类型。或者制作PDF多页(这会阻止预览显示,然后使用正确的mime类型)。@Wain,Genius Scan iPad会这样做。我不知道他们是如何处理这个问题的。他们在电子邮件界面上显示一个附件,甚至是作为单页pdf格式的附加文件。我现在只使用这个,但我不知道如果我将isHTML设置为YES not WORK为什么。有什么想法吗?。