我正在为iOS 10创建一个iMessage应用程序,我想在其中发送一些布局数据。当用户点击已发送的布局时,它将打开iMessage应用程序并访问已发送的数据。数据是一个字符串。
我应该使用MSMessage URL发送数据吗? 一旦用户点击iMessage中的MSMessage布局,我该如何再次收到该URL?
谢谢
答案 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
的作者)