Фотографии и видео не сохраняются в моем пользовательском фотоальбоме (TestAlbum). Вместо этого он сохраняется в Фотоплёнке. Не могли бы вы помочь мне определить проблему и помочь мне исправить код.
PHPhotoLibrary.shared().performChanges({
let albumName = "TestAlbum"
let assetCollection: PHAssetCollection!
let fetchOptions = PHFetchOptions()
PHAssetCollectionChangeRequest.creationRequestForAssetCollection(withTitle: albumName)
fetchOptions.predicate = NSPredicate(format: "title = %@", albumName)
let collection = PHAssetCollection.fetchAssetCollections(with: .album, subtype: .any, options: fetchOptions)
if let _: AnyObject = collection.firstObject {
collection.firstObject
}
let options = PHAssetResourceCreationOptions()
options.shouldMoveFile = true
let creationRequest = PHAssetCreationRequest.forAsset()
creationRequest.addResource(with: .video, fileURL: outputFileURL, options: options)
}, completionHandler: { success, error in
if !success {
print("Could not save movie to photo library: \(String(describing: error))")
}
cleanUp()
})
performChanges()
, чтобы запустить толькоcreationRequestForAssetCollection(withTitle:)
. В обработчике завершения выполните еще одно действиеperformChanges()
, чтобы фактически добавить ваш ресурс в коллекцию. РЕДАКТИРОВАТЬ: я не знаю, действительно ли это важно, но я используюcreationRequest.addAsset()
вместоcreationRequest.addResource()
. Прошло много времени с тех пор, как я написал этот код на Objective-C. - person Alejandro Iván   schedule 21.12.2017