我正在为 iOS 10 创建一个 iMessage 应用程序,我想在其中发送一些带有布局的数据。当用户点击已发送的布局时,它将打开 iMessage 应用程序并访问也已发送的数据。数据是一个字符串。
我应该使用 MSMessage URL 发送数据吗?一旦用户在 iMessage 中点击 MSMessage 布局,我如何再次收到 URL?
谢谢
是的,您将使用MSMessage.URL
来发送和检索数据。
当用户点击一个 MSMessage 时,
将被调用。您可以像这样通过传递的 MSConversation 对象访问选定的消息 URL
-(void)didBecomeActiveWithConversation:(MSConversation *)conversation
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
属性是您可以存储自定义数据的地方。
您还可以使用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
)