के माध्यम से मैं UIActivityController requestAVAsset का उपयोग कर के माध्यम से वीडियो PHAsset साझा करने के लिए कोशिश कर रहा हूँ। यह मैसेजिंग के साथ काम करता है, लेकिन एयरड्रॉप के साथ नहीं, जो 'असफल' के रूप में इंगित करता है।शेयरिंग वीडियो PHAsset UIActivityController
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)
}
})
यह ठीक से UIActivityController ऊपर डाल करने के लिए और केवल कुछ गतिविधियों के साथ काम लगता है:
- संदेश - ✔️Works, ठीक से वीडियो निर्यात करता है।
- AirDrop - ✖️Shows "विफल"
- ड्रॉपबॉक्स - ✖️Puts अप उचित ड्रॉपबॉक्स देखें, फिर भी कहते हैं, "अज्ञात त्रुटि उत्पन्न हुई"
यह सुनिश्चित करने में आप कैसे सक्षम थे कि इसे दस्तावेज़ फ़ोल्डर से हटा दिया गया है? – Gizmodo
मैंने इन दो तरीकों से किया: 1) मेरा उपयोग केस एस 3 पर वीडियो अपलोड कर रहा था। मुझे पता था कि यह कब समाप्त हुआ, और फ़ाइल को हटा सकता है। 2) बैकअप के रूप में, मैंने कॉपी की गई फ़ाइलों (एनएसयूसर डीफॉल्ट में) की एक सूची जारी रखी, और ऐप लॉन्च पर समय-समय पर हटाए गए स्टेल फाइलों को हटा दिया। साथ ही, मैंने इन फ़ाइलों को एक अस्थायी निर्देशिका में संग्रहीत किया है (जैसा कि 'NSFileManager.URLForDirectory (.ememReplacementDirectory ...) से प्राप्त किया गया है। सबसे बुरे मामले में, आईओएस अंततः फाइलों को साफ़ करता है। –
@Gizmodo अगर यह काम करता है तो आप जवाब स्वीकार कर सकते हैं तुम्हारे लिए? धन्यवाद! –