在iMessage Apps中存储对话中的变量



我对开发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, StringArray值的键。

它使设置和获取数据非常容易,如:

let message: MSMessage = MSMessage()
message.md.set(value: 1, forKey: "messageCount")
print(message.md.integer(forKey: "messageCount")!)

(免责声明:我的作者iMessageDataKit)

相关内容

最新更新