我完全不熟悉开发iMessage应用程序。
我想将一个共享变量(比如说Int)存储到一个对话中。用例可以是递增的整数,每当从对话中的任何参与者发送消息时,该整数都会递增。
这是可行的吗?
我没有运气就搜索过这个。
答案 0 :(得分:2)
您可以在网址中附加共享变量。
//在用户发送消息时插入URL。
let message = MSMessage() message.layout = layout message.url = URL(string: "application/sharedVariable=X") self.activeConversation?.insert(message, completionHandler: { (error) in print("error") })
您可以从上面的网址中提取以上共享变量。
let url = "http://application/sharedVariable=X" let queryItems = URLComponents(string: url)?.queryItems let sharedValue = queryItems?.filter({$0.name == "sharedVariable"}).first print(sharedValue?.value)
如果您不希望任何人知道共享变量,那么您可以在发送时进行加密。
答案 1 :(得分:0)
您可以使用iMessageDataKit库。这是设置/获取MSMessage
,Int
,Bool
,Float
,Double
和String
的微小且有用的Array
扩展程序键的值。
它使得设置和获取数据非常简单:
let message: MSMessage = MSMessage()
message.md.set(value: 1, forKey: "messageCount")
print(message.md.integer(forKey: "messageCount")!)
(免责声明:我是iMessageDataKit
的作者)