我有一个应用程序,我想添加邮件扩展功能。
我认为该功能是用户选择了一条消息,它会像谷歌地图一样直接切换我的主机应用。
我创建了一个MSMessage并设置了URL,并且该消息包含带有标题和子标题的模板布局。
let message = MSMessage()
message.url = "http://blahblah?customScheme=myHostAppLaunchScheme"
let template = MSMessageTemplateLayout()
template.image = sampleImage
template.caption = "this is a caption"
template.subCaption = "this is a sub caption"
message.layout = template
guard let conversation = activeConversation else {
print("blahblah")
return
}
conversation.insert(message) { (error) in
print("finish. error = \(error == nil ? "nil" : error!.localizedDescription)")
}
我在
中编写了一个代码extensionContext.open(url,completionHandler)willBecomeActive(with conversation: MSConversation)
didReceive(_ message: MSMessage, conversation: MSConversation)
当然,我解析了selectedMessage的URL。
但我没想到会这么做。
消息扩展开关自动扩展模式。
如果我使用
,它会起作用conversation.insertText("myHostAppLaunchScheme", nil)
但我不想要它,因为它无法添加模板:(
有没有想法直接将iMessage切换到主机应用程序?
感谢任何想法。
答案 0 :(得分:1)
我想我找到了答案。
无法使用
conversation.insert(message, completionHandler)
我认为苹果音乐和谷歌地图正在使用
conversation.insertText("some url", completionHandler)
因为我长按了苹果音乐或谷歌地图
共享的信息后复制了一个网址然后我在我的代码中使用URL
conversation.insertText("the URL", completionHandler)
这是他们的工作!!