2

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

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

谢谢

4

3 回答 3

3

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

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

于 2016-09-18T23:39:07.523 回答
2

在 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)

    }
于 2017-05-26T09:36:17.127 回答
1

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

于 2017-10-14T17:41:19.430 回答