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

时间:2016-10-01 10:45:10

标签: ios swift imessage

我完全不熟悉开发iMessage应用程序。

我想将一个共享变量(比如说Int)存储到一个对话中。用例可以是递增的整数,每当从对话中的任何参与者发送消息时,该整数都会递增。

这是可行的吗?

我没有运气就搜索过这个。

2 个答案:

答案 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库。这是设置/获取MSMessageIntBoolFloatDoubleString的微小且有用的Array扩展程序键的值。

它使得设置和获取数据非常简单:

let message: MSMessage = MSMessage()

message.md.set(value: 1, forKey: "messageCount")

print(message.md.integer(forKey: "messageCount")!)

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