尝试使用NSAttributedString
通过短信分享UIActivityViewController
字符串(包含嵌入式链接):
let activityViewController = UIActivityViewController(activityItems: [linkToShare], applicationActivities: nil)
present(activityViewController, animated: true, completion: nil)
linkToShare
的类型为NSMutableAttributedString
不幸的是,文本是共享的,但没有嵌入的链接(并且链接的单词没有突出显示)。 通过邮件活动进行分享时,文本会按预期显示(措辞链接会突出显示,链接正在运行)。
SMS活动是否适用于属性字符串,或者我在这里遗漏了什么?
答案 0 :(得分:0)
SMS活动确实可以与NSAttributedString
一起使用,因为它可以编译并且不会崩溃。但对于Mail活动,必须将属性字符串转换为适合最终用于传输消息的协议的格式。
对于邮件活动,可以将属性字符串转换为html,这将保留字符串的格式。
对于短信,纯文字是唯一的可能性,这就是为什么您设置的属性会被忽略的原因。
也就是说,一些SMS客户端将自动检测链接,就像消息应用程序在iOS上所做的那样。最后,SMS消息的格式更多地取决于接收客户端而不是发送者。