通过SMS共享UIActivityViewController不接受NSAttributedString

时间:2018-03-15 14:19:00

标签: ios swift uiactivityviewcontroller

尝试使用NSAttributedString通过短信分享UIActivityViewController字符串(包含嵌入式链接):

let activityViewController = UIActivityViewController(activityItems: [linkToShare], applicationActivities: nil)                      

present(activityViewController, animated: true, completion: nil)

linkToShare的类型为NSMutableAttributedString

不幸的是,文本是共享的,但没有嵌入的链接(并且链接的单词没有突出显示)。 通过邮件活动进行分享时,文本会按预期显示(措辞链接会突出显示,链接正在运行)。

SMS活动是否适用于属性字符串,或者我在这里遗漏了什么?

1 个答案:

答案 0 :(得分:0)

SMS活动确实可以与NSAttributedString一起使用,因为它可以编译并且不会崩溃。但对于Mail活动,必须将属性字符串转换为适合最终用于传输消息的协议的格式。

对于邮件活动,可以将属性字符串转换为html,这将保留字符串的格式。

对于短信,纯文字是唯一的可能性,这就是为什么您设置的属性会被忽略的原因。

也就是说,一些SMS客户端将自动检测链接,就像消息应用程序在iOS上所做的那样。最后,SMS消息的格式更多地取决于接收客户端而不是发送者。