主要问题-如何检查收件人是否已打开MSMessage?
我有一个iMessage扩展,用户可以在其中将MSMessage发送到其收件人。收到邮件后,收件人应该能够打开它并阅读发件人发送的内容(从URL中提取邮件)。
但是,在阅读一次(意味着关闭扩展名)之后,此后打开的消息将告诉他们他们已经阅读了该消息。
如何保存信息(很可能在URL中),以便应用程序可以查看收件人是否已经打开过该信息?
需要考虑的事情:我看到了一些有关使消息过期并整体消失的信息,但是听起来用户可以选择保存。如果有一种方法可以自动删除邮件,那也可以
这是我编码到邮件URL中的信息:
var queryItems: [URLQueryItem] = []
let plain: URLQueryItem = URLQueryItem(name: "plainText", value: msgData.plainText)
let msg: URLQueryItem = URLQueryItem(name: "message", value: msgData.message)
let read: URLQueryItem = URLQueryItem(name: "read", value: "false")
queryItems.append(read)
queryItems.append(plain)
queryItems.append(msg)
var components = URLComponents()
components.queryItems = queryItems
message.url = components.url!
最佳答案
我解决这些问题的唯一可靠方法是将状态保存在本地数据库(Realm)中,该消息将提供持久密钥。
我相当确定您收到消息后无法将数据推回url字段。仅在创建新文件时才可写。