Ios 如何在iMessage应用程序扩展上以文本形式在输入字段中发送消息?
我有一个iMessage应用程序扩展名,当我按下表中单元格上的数据时,该扩展名将发送此数据。但我一直以MessageTemplate的格式获取它。我所需要的是它被作为一个输入字段上的正常文本发送。请帮忙 我浏览了苹果的文档,发现了这个功能:Ios 如何在iMessage应用程序扩展上以文本形式在输入字段中发送消息?,ios,swift,imessage,imessage-extension,Ios,Swift,Imessage,Imessage Extension,我有一个iMessage应用程序扩展名,当我按下表中单元格上的数据时,该扩展名将发送此数据。但我一直以MessageTemplate的格式获取它。我所需要的是它被作为一个输入字段上的正常文本发送。请帮忙 我浏览了苹果的文档,发现了这个功能: func insertText(_ text: String,completionHandler: ((Error?) -> Void)? = nil) 这是我的代码: func tableView(_ tableView: UITableView
func insertText(_ text: String,completionHandler: ((Error?) -> Void)? = nil)
这是我的代码:
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
print("cell selected at row \(indexPath.row)")
let entry = filteredContacts[(indexPath as NSIndexPath).row]
let name = entry.name
let phone = entry.phone
let layout = MSMessageTemplateLayout()
layout.caption = name
layout.subcaption = score
let message = MSMessage()
message.layout = layout
self.activeConversation?.insert(message, completionHandler: nil)
请帮忙!!提前谢谢 您必须通过MSMessage中的会话
let session = MSSession()
let message = MSMessage(session: session)
这是objective-C语言,但应该易于翻译。我通过以下方式实现了这一目标:
//Check if we have an active converstation.
if (self.activeConversation) {
//Add the content to be sent as a text message.
[self.activeConversation insertText:text_content completionHandler:nil];
}
插入文本将“我的文本”内容中的文本以纯文本格式放入iMessage字段。它没有自动发送,用户仍然必须点击发送按钮。您应该提供更多详细信息,如为什么这样做,解释您的代码。越详细越好。您找到解决方案了吗?您调用了错误的方法以便将文本发送到输入字段。您找到了正确的函数:
insertText(\text:String,completionHandler:((错误?->Void)?=nil)
。但是您在表视图委托方法中调用的方法是func send(\umessage:MSMessage,completionHandler:((Error?->Void)?=nil)
。请查看“直接发送消息”部分: