在 iMessage 应用程序中发送和打开数据

Send and Open data in iMessage app

我正在为 iOS 10 创建一个 iMessage 应用程序,我想在其中发送一些带有布局的数据。当用户点击已发送的布局时,它将打开 iMessage 应用程序并访问也已发送的数据。数据是一个字符串。

我应该使用 MSMessage URL 发送数据吗? 一旦用户点击 iMessage 中的 MSMessage 布局,我如何再次收到 URL?

谢谢

是的,您将使用 MSMessage.URL 发送和检索数据。

当用户点击 MMSessage 时, -(void)didBecomeActiveWithConversation:(MSConversation *)conversation 将被调用。您可以像这样通过传递的 MSConversation 对象访问选定的消息 URL NSURL *url = conversation.selectedMessage.URL

在swift 3 你可以从Messageviewcontroller这个过分的方法得到URL,savedConversation是MSConversation的对象

    override func willBecomeActive(with conversation: MSConversation){
        if(savedConversation?.selectedMessage?.url != nil)

           let url = savedConversation?.selectedMessage?.url
           UIApplication.shared.open(url, options: [:], completionHandler: nil)

    }

MSMessageurl 属性 是您可以存储自定义数据的地方。

您还可以使用 iMessageDataKit 库。它使设置和获取数据变得非常容易,例如:

let message: MSMessage = MSMessage()

message.md.set(value: 7, forKey: "user_id")
message.md.set(value: "john", forKey: "username")
message.md.set(values: ["joy", "smile"], forKey: "tags")

print(message.md.integer(forKey: "user_id")!)
print(message.md.string(forKey: "username")!)
print(message.md.values(forKey: "tags")!)

(免责声明:我是 iMessageDataKit 的作者)