如何在Swift 4.2 iOS中使用FBSDKShareDialog共享视频

时间:2018-11-02 12:29:01

标签: ios swift4 fbsdk fbsdksharekit

我正在Facebook共享上,我能够共享照片和url,但是卡在共享对话框中的视频共享视频无法加载,并且没有错误。我正在使用Swift 4和最新的Facebook Share工具包。我正确地获得了PHAsset,因为我已经从AVPlayer玩过PHAsset。 请帮助,谢谢。

DispatchQueue.global(qos: .default).async(execute: {
    let video = FBSDKShareVideo()
    PHPhotoLibrary.downloadVideoSaveToPhotoAlbum(downloadUrl: url, completionHandler: {
        (success, phAsset, error) in
        if (success) {
            if (phAsset != nil) {
                if# available(iOS 11.0, * ) {
                    video.videoAsset = phAsset
                } else {
                    PHImageManager.default().requestAVAsset(forVideo: phAsset!, options: nil, resultHandler: {
                        (avAsset, AVAudioMix, data) in
                        if (avAsset != nil) {
                            video.videoURL = (avAsset as!AVURLAsset).url
                        }
                    })
                }

                let mediaContent = FBSDKShareVideoContent()
                mediaContent.video = video

                let shareDialog = FBSDKShareDialog()
                shareDialog.shareContent = mediaContent
                shareDialog.mode = .native
                shareDialog.delegate = self
                Utility.hideLoader()
                DispatchQueue.main.async {
                    shareDialog.show()
                }
            }
        } else {
            Utility.hideLoader()
            print("could not share the video")
                // 
        }
    });

})

注意:- PHPhotoLibrary.downloadVideoSaveToPhotoAlbum 是用户定义的扩展方法。

0 个答案:

没有答案