首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从接收到的消息中获取MSMessage摘要文本?

如何从接收到的消息中获取MSMessage摘要文本?
EN

Stack Overflow用户
提问于 2016-09-30 07:19:16
回答 1查看 924关注 0票数 0

我是在MSMessage中传递摘要消息,但当试图获取在另一端接收的消息时,它将返回零。

下面的是创建消息的代码。

代码语言:javascript
复制
fileprivate func composeMessage(with url: String, andEventInfo eventInfo: NSDictionary?) -> MSMessage {

    let message = MSMessage(session:MSSession())
    message.url = URL(string: url)
    message.layout = createTemplateForEvent(eventInfo: eventInfo!)
    message.summaryText = "SAMPLE MESSAGE"
    return message
}

在当前会话中发送消息

代码语言:javascript
复制
let message = composeMessage(with: url!,andEventInfo: eventInfo)
    activeConversation?.insert(message, completionHandler: { (error) in

        print(error)
    })

现在,在接收端

这里,summaryText返回零。

代码语言:javascript
复制
override func didReceive(_ message: MSMessage, conversation: MSConversation) {

     print("DID RECEIVE MESSAGE: \(message.summaryText)")        
}

同样,当用户点击消息时,它也返回零。

代码语言:javascript
复制
override func willTransition(to presentationStyle: MSMessagesAppPresentationStyle) {
    guard let conversation = activeConversation else { fatalError("Expected an active converstation") }

    // Present the view controller appropriate for the conversation and presentation style.
    if presentationStyle == .expanded {

        if conversation.selectedMessage != nil {

            print(conversation.selectedMessage?.summaryText)

            presentViewController(for: conversation, with: presentationStyle)
        }

    }

}

有谁知道,为什么会发生这种事,或者什么事情出了问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-04 07:33:09

希望这会有帮助

代码语言:javascript
复制
override func didReceive(_ message: MSMessage, conversation: MSConversation) {
// Called when a message arrives that was generated by another instance of this
// extension on a remote device.

// Use this method to trigger UI updates in response to the message.
guard let messageURL = message.url else { return }
guard let urlComponents = NSURLComponents(url: messageURL, resolvingAgainstBaseURL: false), let queryItems = urlComponents.queryItems else { return }

print("URL Components", urlComponents)
print("queryItems", queryItems)

for item in queryItems {
    print("Received \(item.name) with value \(item.value)")
}

}

资料来源:https://www.hackingwithswift.com/ios10

也可以参考:iOS10 iMessage : Unable to insert data into iMessage using MSConversation

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39785842

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档