SwiftUI 将图像保存到 macOS Catalyst
Posted
技术标签:
【中文标题】SwiftUI 将图像保存到 macOS Catalyst【英文标题】:SwiftUI Saving Image to macOS Catalyst 【发布时间】:2021-03-01 16:38:24 【问题描述】:我正在尝试使用以下代码在 macOS Catalyst 应用程序上保存图像。取自SwiftUI Catalyst App in macOS computer - Which path should I use to save an image in my Mac local disk?
但是我收到错误"The file "abstract-1.jpg" doesn't exist."
我的 Assets.xcassets 文件夹中有图像 abstract-1,所以我不确定为什么在此保存操作中看不到它?我也试过只使用item.name
而不附加 .jpg 但它会产生相同的错误。有任何想法吗?谢谢!
Button(action:
let fileURL = URL(fileURLWithPath: self.pathURL, isDirectory: true)
let nameImage = item.name + ".jpg"
let fileURLwithName = fileURL.appendingPathComponent(nameImage)
let imageData = UIImage(named: item.name)?.jpegData(compressionQuality: 1)
do
try imageData!.write(to: fileURLwithName)
catch
print("** saveImageData error: \(error.localizedDescription)")
)
Label("Save to Pictures Directory", systemImage: "square.and.arrow.down")
【问题讨论】:
【参考方案1】:原来我需要做两件事:
-
不要在我的 pathURL 中使用
~/Pictures
之类的东西。这需要像@State private var pathURL = "/Users/jimbob/Desktop/"
一样明确声明
在 appname.entitlements 中将 App Sandbox 更改为 NO
现在尝试获取用户的主目录路径,或者弹出“保存位置”对话框。
【讨论】:
以上是关于SwiftUI 将图像保存到 macOS Catalyst的主要内容,如果未能解决你的问题,请参考以下文章
SwiftUI ImagePicker 保存(图像-> UIImage--> 数据)到核心数据