7
我想分享視頻PHAsset通過UIActivityController使用requestAVAsset。這適用於消息處理,但不適用於AirDrop,指示爲「失敗」。通過UIActivityController共享視頻PHAsset
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,正常出口的視頻。
- 空投 - ✖️Shows 「失敗」
- Dropbox的 - ✖️Puts了正確的Dropbox的視圖,但表示, 「發生未知錯誤」
您是如何確保在完成後將其從Documents文件夾中刪除的? – Gizmodo
我這樣做了兩種方法:1)我的用例是將視頻上傳到S3。我知道它何時完成,並可能刪除該文件。 2)作爲備份,我保存了複製文件的列表(在NSUserDefaults中),並在應用程序啓動時定期刪除舊文件。另外,我將這些文件存儲在一個臨時目錄中(如從'NSFileManager.URLForDirectory(.ItemReplacementDirectory ...)'中獲得的),最糟糕的情況是,iOS最終會清理文件 –
@Gizmodo如果可以的話,你可以接受爲你?謝謝! –