I am trying to transfer a PHAsset video through a UIActivityController using requestAVAsset. This works with Messaging, but not with AirDrop indicating "Failed."
PHCachingImageManager.default().requestAVAsset(forVideo: asset, options: nil, resultHandler: { (givenAsset, audioMix, info) in let videoAsset = givenAsset as! AVURLAsset let videoURL = videoAsset.url DispatchQueue.main.async { let activityViewController = UIActivityViewController( activityItems: [videoURL], applicationActivities: nil) activityViewController.excludedActivityTypes = [UIActivityType.saveToCameraRoll] if let popoverPresentationController = activityViewController.popoverPresentationController { popoverPresentationController.barButtonItem = (sender) } self.present(activityViewController, animated: true, completion: nil) } })
This seems to be correctly placed by the UIActivityController and only works with certain actions:
- Messages - βοΈWorks, correctly exports the video.
- AirDrop - "Shows" Failure "
- Dropbox - βοΈ Substitutes the correct view of Dropbox but says "Unknown error"

ios swift video uiactivityviewcontroller phasset
Gizmodo
source share