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

Swift 在iMessage应用程序中发送和打开数据,swift,ios10,xcode8,imessage,msmessage,Swift,Ios10,Xcode8,Imessage,Msmessage,我正在为iOS 10创建一个iMessage应用程序,我想在其中发送一些布局数据。当用户点击已发送的布局时,它将打开iMessage应用程序并访问已发送的数据。数据是一个字符串 我应该使用MSMessage URL发送数据吗? 一旦用户点击iMessage中的MSMessage布局,我如何再次接收URL 谢谢是的,您将使用MSMessage.URL发送和检索数据 当用户点击MSMessage时, 将被调用。您可以通过传递的MSConversation对象访问选定的消息URL,如下所示 NSUR

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

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


谢谢

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

当用户点击MSMessage时, 将被调用。您可以通过传递的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)

    }

MSMessage
url
属性用于存储自定义数据

你也可以使用图书馆。它使设置和获取数据变得非常简单,如:

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
的作者)

这很好。我将把您的库集成到我们的iMessage扩展中。使我们能够更快地开发原型。您是否打算为进一步的iOS版本更新库(例如,如果发生某些更改)?