swift 将图片保存到本地_[SwiftUI 100 天] 如何保存图片到用户的相册

这篇博客介绍了如何在SwiftUI应用中将图片保存到用户的相册。首先,需要在Info.plist中设置权限说明。然后,使用UIImageWriteToSavedPhotosAlbum()函数保存图片,该函数在图片加载完成后立即保存。博客还提醒注意错误处理,因为用户可能会拒绝访问相册。最后,提供了一个实现该功能的Objective-C兼容的ImageSaver类,包含一个写入相册的方法和一个处理保存结果的方法。
摘要由CSDN通过智能技术生成

在我们完成这个项目的技术预研之前,还有最后一块 UIKit 的拼图需要解决:一旦我们处理了用户的图片,生成一个 UIImage,我们需要将其存入用户的相册。这里用到一个叫UIImageWriteToSavedPhotosAlbum() 的 UIKit 函数。它的常规用法很琐碎,为了用好它,我们还得去 UIKit 走一遭。尤其在这种时刻,我们才会由衷地体会到 SwiftUI 的优越性。

在编写代码之前,我们需要对 Info.plist 做出一点小改动。你看,往相册里写入照片是一项受保护的操作,因此如果用户没有显式授权给我们,我们是不能做这件事的。

iOS 会负责请求权限并检查用户的响应,我们要做的是提供一个我们为什么要写入图片的简短的文本说明 。打开 Info.plist,右键空白区域,选择 Add Row。你会看到一个包含下拉选项的列表 —— 我们往下滚动,选择 “Privacy - Photo Library Additions Usage Description”。对于右边的值,输入文本 “我们想要保存您的滤镜图片。”

完成之后,我们就可以使用 UIImageWriteToSavedPhotosAlbum() 方法来写入照片了。之前我们已经实现了 loadImage() 方法:

func loadImage() {

guard let inputImage = inputImage else { return }

image = Image(uiImage: inputImage)

}

我们可以对它做简单的修改,在图片载入完成时立刻就保存。把下面这行添加到方法的末尾:

UIImageWriteToSavedPhotosAlbum

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值