我当前正在使用UIActivityViewController来与其他应用共享网址。这部分工作正常。
但是当我与iMessage,Whatsapp或Mail之类的应用共享时。我想添加一个字符串。
示例:
共享->空投:https://www.google.com
共享-> iMessage:“您好,请访问此炫酷网站:https://www.google.com”
我试图通过向UIActivityViewController中添加Url对象和String来做到这一点,
let url = URL(string: "https://www.google.com)
let text = "Hi there, checkout this cool website: \(url)"
let items: [Any] = [url, text]
let controller = UIActivityViewController(
activityItems: items,
applicationActivities: nil)
DispatchQueue.main.async{self.present(controller, animated: true, completion: nil)}
^不是实际的代码,但足以绘制图片
这确实适用于Airdrop,它会打开URL。
在Mail中也可以使用,它使用包含url的字符串。
但是在iMessage中不起作用。 iMessage将两者都合并,像这样:
https://www.google.com你好,请访问这个很酷的网站:https://www.google.com
有人对我有保留空投/邮件等功能的建议吗?但是它也可以在iMessage上使用?
答案 0 :(得分:1)
使用UIActivityItemSource。 UIActivityItemSource被告知请求过程的标识符,因此您可以避免将URL传递给Messages,而仅将其传递给字符串就足够了。