7
私はビデオを共有しようとしています。PHAssetUIActivityController requestAVAssetを使用しています。これはメッセージングでは機能しますが、AirDropでは「失敗」と表示されません。UIActivityController経由でビデオPHAsを共有する
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はDropboxの
- を "失敗" - 適切なDropboxのビューアップ✖️Puts、まだ私は
完了したらどのようにドキュメントフォルダから削除されていることを確認できましたか? – Gizmodo
私はこれを2つの方法で行いました:1)私のユースケースがビデオをS3にアップロードしていました。私はそれが終わった時を知っていて、ファイルを削除することができました。 2)バックアップとして、(NSUserDefaultsの)コピーしたファイルのリストを保存し、アプリケーションの起動時に古いファイルを定期的に削除しました。また、(NSFileManager.URLForDirectory(.ItemReplacementDirectory ...)から取得した)一時ディレクトリにこれらのファイルを保存しました。最悪の場合、iOSによって最終的にファイルがクリーンアップされます。 –
@Gizmodoは、あなたのために?ありがとう! –