需要在iMessage扩展中的insertText方法上调用didStartSending

时间:2018-12-05 13:08:30

标签: ios iphone swift

我创建了一个iMessage应用程序来发送带有链接的图像。我不希望接收器强制具有相同的应用程序。

在IMessage扩展中,有任何方法可以调用MSMessagesAppViewController didStartSending重写的方法,而无需使用insert方法发送消息。

以下代码用于在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 个答案:

答案 0 :(得分:1)

是否强制使用insertText

似乎您可以使用sendText()方法来直接发送文本消息,而无需使用iMessage文本字段。

希望这行得通。

    conversation.sendText(strUrl, completionHandler: { (error) in
        print(error?.localizedDescription ?? "")
    })