Я использую приведенный ниже исходный код для хранения изображений и видео в пользовательской папке.Работает нормально, но моя проблема в том, что эти изображения и видео также хранятся в папке «Все фотографии» на iPhone.Как я могу сохранить его только в пользовательской папке?Может ли кто-нибудь помочь мне выполнить эту задачу?
Я называю этот класс как
func fileOutput(_ output: AVCaptureFileOutput, didFinishRecordingTo outputFileURL: URL, from connections: [AVCaptureConnection], error: Error?) {
print("FINISHED \(String(describing: error ))")
// save video to camera roll
if error == nil {
print("---------------FilePath--------------\(outputFileURL.path)")
print(self.videoPreviewUiimage(fileName: outputFileURL)!)
self.iconImage.image = self.videoPreviewUiimage(fileName: outputFileURL)!
MyAwesomeAlbum.shared.save(image: self.iconImage.image!)
MyAwesomeAlbum.shared.saveMovieToLibrary(movieURL: outputFileURL)
self.handleCaptureSession()
}
}
func saveMovieToLibrary(movieURL: URL) {
self.checkAuthorizationWithHandler { (success) in
if success, self.assetCollection != nil {
PHPhotoLibrary.shared().performChanges({
if let assetChangeRequest = PHAssetChangeRequest.creationRequestForAssetFromVideo(atFileURL: movieURL) {
let assetPlaceHolder = assetChangeRequest.placeholderForCreatedAsset
if let albumChangeRequest = PHAssetCollectionChangeRequest(for: self.assetCollection) {
let enumeration: NSArray = [assetPlaceHolder!]
albumChangeRequest.addAssets(enumeration)
}
}
}, completionHandler: { (success, error) in
if success {
print("Successfully saved video to Camera Roll.")
} else {
print("Error writing to movie library: \(error!.localizedDescription)")
}
})
}
}
}
func save(image: UIImage) {
self.checkAuthorizationWithHandler { (success) in
if success, self.assetCollection != nil {
PHPhotoLibrary.shared().performChanges({
let assetChangeRequest = PHAssetChangeRequest.creationRequestForAsset(from: image)
let assetPlaceHolder = assetChangeRequest.placeholderForCreatedAsset
if let albumChangeRequest = PHAssetCollectionChangeRequest(for: self.assetCollection) {
let enumeration: NSArray = [assetPlaceHolder!]
albumChangeRequest.addAssets(enumeration)
}
}, completionHandler: { (success, error) in
if success {
print("Successfully saved image to Camera Roll.")
} else {
print("Error writing to image library: \(error!.localizedDescription)")
}
})
}
}
}