Быстрое редактирование данных URL MSMessage - PullRequest
2 голосов
/ 12 марта 2019

Основной вопрос - Как проверить, было ли получатель уже открыло 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!

1 Ответ

0 голосов
/ 23 июня 2019

Единственный надежный способ, с помощью которого я работал с такими вещами, - это сохранение состояния в локальной базе данных (Realm), где в сообщении содержится постоянный ключ.

Я вполне уверен, что вы не можете отправить данные обратно в поле URL при получении сообщения. Доступно только для записи при создании новых.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...