如何在 iOS 10 的 iMessage 应用程序中发送带有图像和标题的音频文件?

How to send audio file with image and caption in iMessage app for 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 没有在邮件中添加任何文件。

当我尝试使用上面的 code.It 发送文件时,如下所示:

它看起来不错,但没有音频可播放,但如果我这样尝试:

let destinationFilename = mp3FileNames[i]
let destinationURL =  docDirectoryURL.appendingPathComponent(destinationFilename)

if let conversation = activeConversation {

    conversation.insertAttachment(destinationURL!, withAlternateFilename: nil, completionHandler: nil)
    return
}

以上代码的结果是:

我可以播放该消息的音频,因为它就在那里。但该消息的问题是我无法附加任何图像或标题。

如何将图像和音频文件附加到同一封邮件中。

如果可能的话,我可以添加 GIF 而不是图像吗?

非常感谢任何帮助,谢谢。

不需要使用 GIFiMessage 扩展还支持 PNGJPEG 图像格式。推荐的图像大小为 300x300 点,@3x 比例。

如果 MSMessageTemplateLayoutimage 属性 具有非零值,则 mediaFileURL 属性 被忽略。所以你不能同时发送图像和音频文件。 Docs