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