Как отправить аудиофайл с изображением и надписью в приложении iMessage для iOS 10?
Я создаю приложение iMessage и пытаюсь отправить аудио или видео файл другому пользователю.
Видеофайл работает и выглядит отлично, но он не работает, как ожидалось, с аудиофайлом.
Мой текущий код:
let destinationFilename = mp3FileNames[i]
let destinationURL = docDirectoryURL.appendingPathComponent(destinationFilename)
if let conversation = activeConversation {
let layout = MSMessageTemplateLayout()
layout.image = UIImage.init(named: "audio-x-generic-icon")
layout.mediaFileURL = destinationURL
layout.caption = selectedSongObj.name
let message = MSMessage()
message.layout = layout
message.url = URL(string: "emptyURL")
conversation.insert(message, completionHandler: nil)
return
}
Похоже, что layout.mediaFileURL = destinationURL
не добавляет никакого файла в сообщение.
И когда я пытаюсь отправить файл с указанным выше кодом. Это выглядит как показано ниже:
![введите описание изображения здесь]()
Он выглядит отлично, но нет звука для воспроизведения, но если я пробую так:
let destinationFilename = mp3FileNames[i]
let destinationURL = docDirectoryURL.appendingPathComponent(destinationFilename)
if let conversation = activeConversation {
conversation.insertAttachment(destinationURL!, withAlternateFilename: nil, completionHandler: nil)
return
}
И результат с приведенным выше кодом:
![введите описание изображения здесь]()
Я могу воспроизводить аудио для этого сообщения, потому что оно есть. Но проблема с этим сообщением заключается в том, что я не могу прикреплять к нему какое-либо изображение или подпись.
Как подключить изображение и аудиофайл к одному сообщению.
И если возможно, вместо изображения можно добавить GIF?
Любая помощь будет очень признательна, спасибо.
Ответы
Ответ 1
Не нужно использовать GIF
, iMessage
расширения поддерживает также форматы PNG
и JPEG
. Рекомендуемый размер изображения составляет 300x300 точек при шкале @3x.
Если свойство MSMessageTemplateLayout
image
имеет значение, отличное от нуля, тогда
mediaFileURL
свойство игнорируется. Таким образом, вы не можете одновременно отправить изображение и аудиофайл. Документы