Приложение SwiftUI Catalyst на компьютере MacOS. Какой путь следует использовать для сохранения изображения на локальном диске Ma c? - PullRequest
0 голосов
/ 04 апреля 2020

У меня есть простой код, который я запускаю с Catalyst в macOS:

struct ContentView: View {

    @State private var pathURL = "/Users/cesare/Desktop/Test"

    var body: some View {
        VStack {
            TextField("/Users/cesare/Desktop/Test", text: $pathURL)
                .textFieldStyle(RoundedBorderTextFieldStyle())
                .padding()
            Button(action: {
                let fileUrl = URL(fileURLWithPath: self.pathURL, isDirectory: true)

                let nameImage = "ImageTest" + ".jpg"
                let fileUrlWithName = fileUrl.appendingPathComponent(nameImage)

                let imageData = UIImage(named: "2020-03-05_11-19-22_5")?.jpegData(compressionQuality: 1)
                do {
                    try imageData!.write(to: fileUrlWithName)
                } catch {
                    print("** saveImageData error: \(error.localizedDescription)")
                }
            }) {
                Text("Save Image")
            }
        }
    }
}

В Assets.xcassets Я положил 2020-03-05_11-19-22_5 изображение. Когда я нажимаю кнопку Save Image, у меня появляется эта ошибка: You don’t have permission to save the file “ImageTest.jpg” in the folder “Test”. Почему у меня нет разрешения на сохранение изображения на рабочем столе? Я пытался экспортировать приложение, содержащееся в Продуктах, без каких-либо результатов. Какой путь мне следует использовать для сохранения изображения на моем локальном диске Ma c?

1 Ответ

0 голосов
/ 10 апреля 2020

Чтобы сохранить документ в любой папке, вам нужно установить App Sandbox на NO. enter image description here

...