我正在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 是用户定义的扩展方法。