iOSアプリから動画を書き出し、アセットIDを取得する必要があります。過去には、あなたはALAssetsLibrary使用することができます。ビデオをカメラロールに保存してアセットURLを取得するにはどうすればいいですか?
save image in camera roll and get asset url
をしかし、それは今では非推奨です。私は今これを達成するための新しい方法は何だろうか?ありがとう!
iOSアプリから動画を書き出し、アセットIDを取得する必要があります。過去には、あなたはALAssetsLibrary使用することができます。ビデオをカメラロールに保存してアセットURLを取得するにはどうすればいいですか?
save image in camera roll and get asset url
をしかし、それは今では非推奨です。私は今これを達成するための新しい方法は何だろうか?ありがとう!
ALAssetsLibraryは推奨されていません。 PhotosLibraryを使うべきです。
アセットライブラリのフレームワークは、iOS 9.0以降では廃止されました。その代わりに、代わりにPhotosフレームワークを使用してください.iOS 8.0以降では、ユーザーの写真ライブラリを使用するための機能とパフォーマンスが向上しています。詳細については、「写真」を参照してください。 Photosフレームワークでは、PHPhotoLibraryクラスはフォトライブラリのアクセスと変更を管理し、PHAssetクラスとPHCollectionクラスのクラスメソッドおよび関連クラスは、写真とビデオのアセットを検索するための機能を提供します。
ここでこのhttps://developer.apple.com/documentation/photos/phphotolibrary
はカメラロールにビデオを保存し、保存した映像にあなたのURLを与えるサンプルコードで参照してください。
はvar placeHolder : PHObjectPlaceholder?
PHPhotoLibrary.shared().performChanges({
let creationRequest = PHAssetChangeRequest.creationRequestForAssetFromVideo(atFileURL: URL(string: videoPath)!)
placeHolder = creationRequest?.placeholderForCreatedAsset
}, completionHandler: { (success, error) in
if success {
let result = PHAsset.fetchAssets(withLocalIdentifiers: [placeHolder!.localIdentifier], options: nil)
result.firstObject?.getURL(completionHandler: { url in
// this is the url to the saved asset
})
}
})
は
import Photos
ことを忘れてはいけないとPHAssetの拡張として、このコードを追加します。
https://gist.github.com/jVirus/2f041bb8b1936093773f0bde42af3a49