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

前端之家收集整理的这篇文章主要介绍了swift – 如何在iOS 10的iMessage应用程序中发送带有图像和标题的音频文件?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在创建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?

任何帮助将不胜感激,谢谢.

不需要使用GIF,iMessage扩展也支持PNG和JPEG图像格式.推荐的图像尺寸为@ 3x刻度为300×300.

如果MSMessageTemplateLayout的image属性具有非零值,那么
mediaFileURL属性被忽略.所以你不能同时发送图像和音频文件. Docs

原文链接:https://www.f2er.com/swift/319633.html

猜你在找的Swift相关文章