Как поделиться видео с помощью FBSDKShareDialog в iOS 4.2 Swift - PullRequest
0 голосов
/ 02 ноября 2018

Я работаю над общим доступом к Facebook, я могу обмениваться фотографиями и URL, но застрял в видео общего доступа, которое не загружается в диалоге общего доступа, и нет ошибки. Я использую Swift 4 и последнюю версию Facebook Share Kit. Я получаю PHAsset правильно, потому что я играл в PHAsset от AVPlayer. Пожалуйста, помогите, спасибо.

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 - это пользовательский метод расширения.

...