Могу ли я закодировать UIImage в URL, который отправляется с помощью MSMessage в расширении приложения iMessage?

Я пытаюсь отправить изображение вместе с сообщением, которое мое приложение создает и вставляет для отправки другим пользователям. Изображение будет тем же изображением, которое используется в свойстве макета сообщения, но, очевидно, нет способа получить доступ к свойству изображения в макете сообщения на стороне принимающего пользователя.

Можно ли отправить изображение в URL-адресе, прикрепленном к сообщению, а затем получить к нему доступ в экземпляре приложения второго пользователя? Как я мог пойти об этом?

2 ответа

Пара идей:

  1. Внедрите CloudKit, чтобы сохранить / запросить изображение (или другое "облачное" решение), и использовать message.url, чтобы поделиться URL-адресом изображения.
  2. Если изображение создано, а не актив, используйте message.url для выполнения "инструкций" по восстановлению, если это возможно?

Как схема URL iMessage поддерживает 5000 символов, как написано в документации Apple: https://developer.apple.com/reference/messages/msmessage/1649739-url

Вы можете использовать преобразование вашего UIImage в NSData, а затем преобразовать NSData в String и отправить строку в схеме URL. Чтобы получить, декодировать из строки в UIImage.

Например:

let image = UIImage.init(named: "myImage.png")
let data = UIImagePNGRepresentation(image!)
let strImageData = data?.base64EncodedString(options: .lineLength64Characters)

Надеюсь это поможет

Другие вопросы по тегам