Как отправить изображение в формате GIF через расширение iMessage

Я хочу отправить изображение в формате GIF из моего расширения iMessage. Сообщение отправляется с изображением, но проблема в том, что изображение не анимируется.

Мой подход:

          let msg = msgList[indexPath.row]
    
    let message = MSMessage()
    let msgLayout = MSMessageTemplateLayout()
    
    if let title = msg.message { msgLayout.caption = title }
    if let msgImg = msg.image { msgLayout.image = msgImg }
    
    message.layout = msgLayout

    if let conversation = self.activeConversation {
            conversation.insert(message) { error in
                print("Insert message error: \(String(describing: error))")
           }
     }

Также пробовал с mediaFileUrl:

       if let url = Bundle.main.url(forResource: "IMG_0673", withExtension: "gif") {
            msgLayout.mediaFileURL = url
        }

Но когда я попробовал с MSSticker GIF является анимированным.

Код:

          do {
        let sticker = try MSSticker(contentsOfFileURL: Bundle.main.url(forResource:"AS001494_20", withExtension: "gif")!,localizedDescription: "a gif image")
        
        if let conversation = self.activeConversation {
            conversation.insert(sticker) { error in
                print(error)
            }
        }
        
    } catch {
        print("Sticker error: \(error.localizedDescription)")
    }

Можно ли отправить анимированный GIF с помощью MSMessage и MSMessageTemplateLayout?

1 ответ

Вам может понадобиться использовать insertAttachment(_:withAlternateFilename:completionHandler:)и отправьте GIF в качестве вложения. Я также не мог заставить GIF-файлы анимироваться с помощью MSMessageTemplateLayout. Итак, у вас будет что-то вроде

      let mediaURL = Bundle.main.url(forResource: "IMG_0673", withExtension: "gif")!
if let conversation = self.activeConversation {
    conversation.insertAttachment(mediaURL, withAlternateFilename: nil) { error in
        print("Insert attachment message error: \(String(describing: error))")
    }
}

Удачного кодирования

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