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

时间:2016-09-09 23:19:50

标签: swift ios10 xcode8 imessage msmessage

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

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

谢谢

3 个答案:

答案 0 :(得分:3)

是的,您可以使用getX()发送和检索数据。

当用户点击MSMessage时, -(void)didBecomeActiveWithConversation:(MSConversation *)conversation 将被召唤。您可以通过传递的MSConversation对象访问选定的邮件URL,如下所示 static double oldX; double newX = vehicle->getX(); double dx = newX - oldX; oldX = newX;

答案 1 :(得分:2)

在swift 3中你可以从Messageviewcontroller的这个overdid方法获取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)

    }

答案 2 :(得分:1)

MSMessage' url属性是您存储自定义数据的地方。

您也可以使用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的作者)