我对开发iMessage应用程序完全陌生。
我想存储一个共享变量(假设是Int)到一个会话。用例可以是一个递增的整数,每次从对话中的任何参与者发送消息时,它都会递增。
这可能吗?
我已经搜索了这个,没有任何运气。
可以在URL中附加共享变量
//当用户发送消息时插入URL
let message = MSMessage() message.layout = layout message.url = URL(string: "application/sharedVariable=X") self.activeConversation?.insert(message, completionHandler: { (error) in print("error") })
您可以从上面的URL中提取上述共享变量。
let url = "http://application/sharedVariable=X" let queryItems = URLComponents(string: url)?.queryItems let sharedValue = queryItems?.filter({$0.name == "sharedVariable"}).first print(sharedValue?.value)
如果您不想让任何人知道共享变量,那么您可以在发送时加密
您可以使用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
)