在 iMessage Extension 中点击消息时未调用 DidSelect 方法

DidSelect method not getting called when tap on message in iMessage Extension

我正在开发 iMessage Extension,但 didSelect(_ message: MSMessage, conversation: MSConversation) 并不总是被调用,有时它会调用。但是什么时候打电话,什么时候不打电话都不知道。根据我在扩展启动后的观察,第一次点击消息方法会调用,但在该方法之后没有得到 called.I 想要跟踪消息的每次点击。

有什么方法可以识别 iMessage 扩展中的点击消息吗?

override func didSelect(_ message: MSMessage, conversation: MSConversation) {

    super.didSelect(message, conversation: conversation)
    isExpandingFromMessage = true

}

下面是我的 iMessage 扩展的图片,想要在用户点击消息时识别事件。

该方法被称为 "didSelect",而不是 "didTap",因此它仅在您最初 select 消息时触发。您可以在 https://developer.apple.com/reference/messages/msmessagesappviewcontroller

中找到定义的此行为

func didSelect(MSMessage, conversation: MSConversation)

Invoked after the system updates the conversation’s selectedMessage property in response to the user selecting a message object in the transcript."

如果您想跟踪消息上的所有点击,您可以尝试将 UITapGestureRecognizer 添加到消息视图。