SwiftUI 将图像保存到 macOS Catalyst
SwiftUI Saving Image to macOS Catalyst
我正在尝试使用以下代码在 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")
}
原来我需要做两件事:
- 不要在我的 pathURL 中使用类似
~/Pictures
的内容。这需要像 @State private var pathURL = "/Users/jimbob/Desktop/"
这样明确声明
- 在 appname.entitlements
中将 App Sandbox 更改为 NO
现在尝试获取用户的主目录路径,或者弹出一个 'save location' 对话框。
我正在尝试使用以下代码在 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")
}
原来我需要做两件事:
- 不要在我的 pathURL 中使用类似
~/Pictures
的内容。这需要像@State private var pathURL = "/Users/jimbob/Desktop/"
这样明确声明
- 在 appname.entitlements 中将 App Sandbox 更改为 NO
现在尝试获取用户的主目录路径,或者弹出一个 'save location' 对话框。