facebook - 使用 swift SDK 将视频发布到 Facebook

标签 facebook swift4

我一整天和昨天晚上都在努力解决这个问题,但没有成功。我可以确认 LinkShareContent 有效,但是当我尝试共享视频文件时。它给了我一个错误代码“保留”,但没有别的。

这是链接的代码

var content = LinkShareContent(url: URL(string: "https://google.com")!)
showShareDialog(content)

这是根本不起作用的视频代码。

 let video = Video(url: url)
 var content = VideoShareContent(video: video, previewPhoto: Photo(image: inProgressItem.firstImage, userGenerated: true))
 showShareDialog(content)

这将在 Controller 上显示共享表

  Func showShareDialog<C: ContentProtocol>(_ content: C, mode: ShareDialogMode = .shareSheet) {
        let dialog = ShareDialog(content: content)
        dialog.presentingViewController = self
        dialog.mode = mode

        do{
            try dialog.show()
        }
        catch (let error){
            print(error)
        }
    }

我已确认视频在本地路径上,我正在 iPhone 8 11.1.2 上测试该应用

最佳答案

有完全相同的问题。它适用于 LinkShareContent 但不适用于 VideoShareContent

解决方法: 确保您获得了视频的正确 URL。右边的是来自 UIImagePickerController 委托(delegate)方法的 info 字典中键 "UIImagePickerControllerReferenceURL" 的 URL。

工作代码:

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String: Any]) {
    picker.dismiss(animated: true)
    if let videoURL = info["UIImagePickerControllerReferenceURL"] as? URL {
        let video = Video(url: videoURL)
        let content = VideoShareContent(video: video)
        let dialog = ShareDialog(content: content)
        dialog.failsOnInvalidData = true
        dialog.mode = .native
        dialog.presentingViewController = self
        do {
            try dialog.show()
        } catch {
           print(error)
        }
    }
}

额外信息:最初我没有使用这个键“UIImagePickerControllerReferenceURL”因为它是deprecated . Apple 建议改用 UIImagePickerControllerPHAsset。但是那里的 URL 也返回 reserved 错误。另一种尝试是使用键“UIImagePickerControllerMediaURL”,但也没有成功。

关于facebook - 使用 swift SDK 将视频发布到 Facebook,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48431556/

相关文章:

ios - Facebook 登录 - Firebase V3

由于嵌入式浏览器,Android Facebook 分享对话框阻止登录

ios - Swift 4 - 使用 Codable 协议(protocol)解析 JSON(嵌套数据)

具有递归枚举的 Swift Codable 协议(protocol)

ios - 点击表格 View 单元格中的视频以在 View Controller 中打开它

ios - 来自服务器 URL 的 .obj 文件不起作用

facebook - 如何嵌入 jwplayer 以便它在 Facebook 流中内联播放?

css - 如何对齐 facebook 插件

facebook - 如何将YouTube视频嵌入到Facebook iframe应用中?

ios - fatal error : Dictionary<String, Any> 不符合 Decodable 因为 Any 不符合 Decodable