如何在iOS消息扩展中发送和读取图像/视频?

Jes*_*ess 8 video ios imessage msmessage

我的目标:

  • 允许用户将视频片段发送(或附加)到消息中
  • 允许接收方在收到视频时读取(不播放)视频
  • 不使用其他服务器来托管这些消息或视频.换句话说,我希望在消息扩展框架内完成所有事情.

我试过了:

1)使用MSMessage:

private func insertVideoIntoMessage(usingUrl url: URL) {
    if let conversation = self.activeConversation {
        let layout = MSMessageTemplateLayout()

        layout.caption = "Some caption"
        layout.mediaFileURL = url                // Media file (video)

        let message = MSMessage()
        message.layout = layout            
        message.url = URL(string: "some url")

        conversation.insert(message, completionHandler: { error in
            if let error = error {
                print("Error:", error)
            }
        })
    }
}
Run Code Online (Sandbox Code Playgroud)

我想让接收器读取媒体文件(视频).但是,它似乎不可能.

override func didSelect(_ message: MSMessage, conversation: MSConversation) { 
    // message doesn't seem to contain any media content 
}
Run Code Online (Sandbox Code Playgroud)

2)使用附件:

private func insertVideoInMessage(usingUrl url: URL) {
    if let conversation = self.activeConversation {
        conversation.insertAttachment(url, withAlternateFilename: "Some file name", completionHandler: { error in
            if let error = error {
                print("Error:", error)
            }
        })
}
Run Code Online (Sandbox Code Playgroud)

这样,附件(视频)由系统的默认应用程序打开.这意味着我的应用程序无法阅读视频.

问题:

  • 是否可以让接收方读取发送方发送的视频?
  • 是否可以插入附件并同时插入MSMessage?
  • 或者还有其他任何方式我可以做我想要的吗?