保存图片到相册

import Foundation
import UIKit
import RxSwift
import Photos

class PhotoWriter: NSObject {
    
    enum Errors: Error {
        case couldNotSavePhoto
    }
    
    static func save(_ image: UIImage) -> Observable<String> {
        return Observable<String>.create { observer in
            var saveAssetId: String?
            PHPhotoLibrary.shared().performChanges({
                let request = PHAssetChangeRequest.creationRequestForAsset(from: image)
                saveAssetId = request.placeholderForCreatedAsset?.localIdentifier
            }) { success, error in
                DispatchQueue.main.async {
                    guard success, let saveAssetId = saveAssetId else {
                        observer.onError(Errors.couldNotSavePhoto)
                        return
                    }
                    observer.onNext(saveAssetId)
                    observer.onCompleted()
                }
            }
            return Disposables.create()
        }
    }
}

  

猜你喜欢

转载自www.cnblogs.com/powerbear/p/9255151.html
今日推荐