swift保存图片和GIF
2021-08-25 本文已影响0人
你是真的很皮
//保存图片和GIF,两种保存方式不一样
func saveImage(_ url: String) {
var data:Data?
var image: UIImage?
DispatchQueueMain(true, nil, global: {
data = try? Data.init(contentsOf: URL.init(string: url)!)
}) {
//保存GIF
if url.contains(".gif") {
PHPhotoLibrary.shared().performChanges {
let options = PHAssetResourceCreationOptions()
PHAssetCreationRequest.forAsset().addResource(with: .photo, data: data!, options: options)
} completionHandler: { (isSuccess: Bool, error: Error?) in
DispatchQueue.main.async {
if isSuccess {
self.showSimpleText("已保存到相册")
}else {
self.showSimpleText("保存失败")
}
}
}
}else {
//保存普通图片
image=UIImage(data: data!)
if image != nil{
UIImageWriteToSavedPhotosAlbum(image!, self, #selector(self.image(image:didFinishSavingWithError:contextInfo:)), nil)
}
}
}
}
//保存普通图片系统回调
@objc func image(image: UIImage, didFinishSavingWithError error: NSError?, contextInfo: AnyObject) {
if error != nil {
self.showSimpleText("保存失败")
return
}
self.showSimpleText("已保存到相册")
}