在iOS SDK中使用sms / mms发送附件

时间:2014-07-23 09:25:22

标签: ios iphone sms nsdata attachment

在iOS 7中,支持通过第三方应用程序在短信中添加附件。

我想知道:

  1. 支持什么类型的文件作为附件?例如.png,.pdf等。

  2. 我可以通过sms / mms消息发送NSData吗?例如.dat格式

  3. 这些邮件的收件人是否可以使用iOS的“打开方式”功能在第三方应用程序中打开这些附件?

2 个答案:

答案 0 :(得分:1)

MFMessageComposeViewController希望附件对您要上传的图片类型具有正确的扩展名。 我通过使用PNG文件进行测试以及添加附件数据的以下变体进行了验证:

[messageController addAttachmentData:imgData typeIdentifier:@"public.data" filename:@"image"];
[messageController addAttachmentData:imgData typeIdentifier:@"public.data" filename:@"image.abc"];
[messageController addAttachmentData:imgData typeIdentifier:@"public.data" filename:@"image.png"];

只有最后一个选项有效。 我并不需要更改typeIdentifier,尽管选择与数据类型匹配的UTI可能是有意义的。

答案 1 :(得分:0)

根据Apple MFMessageComposeViewController文档,您可以通过创建MFMessageComposeViewController对象来执行此操作,并通过以下函数添加附件:

func addAttachmentURL(URL, withAlternateFilename: String?)

将指定文件附加到邮件中。

func addAttachmentData(Data, typeIdentifier: String, filename: String)

将任意内容附加到邮件中。

(顺便说一下,在尝试使用这些功能之前,你应该检查 canSendAttachments