Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何在iMessage应用程序扩展上以文本形式在输入字段中发送消息?_Ios_Swift_Imessage_Imessage Extension - Fatal编程技术网

Ios 如何在iMessage应用程序扩展上以文本形式在输入字段中发送消息?

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

我有一个iMessage应用程序扩展名,当我按下表中单元格上的数据时,该扩展名将发送此数据。但我一直以MessageTemplate的格式获取它。我所需要的是它被作为一个输入字段上的正常文本发送。请帮忙

我浏览了苹果的文档,发现了这个功能:

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)
。请查看“直接发送消息”部分: