需要在 iMessage Extension 中的 insertText 方法上调用 didStartSending
Posted
技术标签:
【中文标题】需要在 iMessage Extension 中的 insertText 方法上调用 didStartSending【英文标题】:Need to call didStartSending on insertText method in iMessage Extension 【发布时间】:2018-12-05 13:08:30 【问题描述】:我创建了一个 iMessage 应用程序来发送带有链接的图像。而且我不希望接收者强制拥有相同的应用程序。
在 IMessage 扩展中有什么方法可以调用 MSMessagesAppViewController didStartSending 重写方法而不使用插入方法发送消息。
以下代码用于在 imessages 扩展上发送消息。
guard let conversation = activeConversation else fatalError("Expected a conversation")
let strUrl = "https://www.google.com/"
let layout = MSMessageTemplateLayout()
layout.image = image
layout.imageTitle = imageName
layout.caption = strUrl
let msgToSend = MSMessage()
msgToSend.url = URL.init(string: strUrl)
msgToSend.layout = layout
// conversation.insert(msgToSend, completionHandler: (error) in
// print(error?.localizedDescription ?? "")
// )
conversation.insertText(strUrl, completionHandler: (error) in
print(error?.localizedDescription ?? "")
)
【问题讨论】:
【参考方案1】:是否强制使用insertText
?
看来您可以使用sendText()
方法直接发送文本消息,而无需使用iMessage
文本字段。
希望这行得通。
conversation.sendText(strUrl, completionHandler: (error) in
print(error?.localizedDescription ?? "")
)
【讨论】:
以上是关于需要在 iMessage Extension 中的 insertText 方法上调用 didStartSending的主要内容,如果未能解决你的问题,请参考以下文章