У вас нет разрешения на сохранение файла в Mac Mojave - PullRequest
0 голосов
/ 10 октября 2018

В моем приложении macOS я пытаюсь создать каталог с использованием следующего расширения

extension URL {
    static func createFolder(folderName: String, folderPath:URL) -> URL? {
        let fileManager = FileManager.default
        let folderURL = folderPath.appendingPathComponent(folderName)
        // If folder URL does not exist, create it
        if !fileManager.fileExists(atPath: folderURL.path) {
            do {
                // Attempt to create folder
                // try fileManager.createDirectory(at: folderURL, withIntermediateDirectories: true, attributes: nil)
                // try fileManager.createDirectory(atPath: folderURL.path, withIntermediateDirectories: true, attributes: nil)
                try fileManager.createDirectory(atPath: folderURL.relativePath, withIntermediateDirectories: true, attributes: nil)
            } catch {
                print(error.localizedDescription + ":\(folderURL.path)")
                return nil
            }
        }
        return folderURL
    }
}

Когда я вызываю этот вызов, он выдаёт мне ошибку

Вы не делаетеУ меня есть разрешение на сохранение файла «Имя папки» в папке «SelectedFolder».: / Users / ИМЯ ПОЛЬЗОВАТЕЛЯ / Рабочая область / SelectedFolder / Имя папки

Я посмотрел похожую запись и перепробовал все методы, но он все еще дает мне ошибку, я что-то здесь упускаю?Любая помощь приветствуется

Ответы [ 2 ]

0 голосов
/ 10 октября 2018

Я предполагаю, что ваше приложение находится в песочнице.Таким образом, у вас нет разрешения на запись папки для местоположения, в котором вы пытаетесь.

Если оно не предназначено для изолированной программной среды, вы можете отключить изолированную программную среду приложения, ее можно отключить, нажав файл проекта> targetимя, выбрав вкладку возможностей и отключив изолированную программную среду приложения.

Руководство по программированию файловой системы: https://developer.apple.com/library/archive/documentation/FileManagement/Conceptual/FileSystemProgrammingGuide/FileSystemOverview/FileSystemOverview.html

Документация по изолированной программной среде приложения здесь: https://developer.apple.com/library/archive/documentation/Security/Conceptual/AppSandboxDesignGuide/AppSandboxInDepth/AppSandboxInDepth.html

Вы также можетеПосмотрите закладку в области безопасности для постоянного доступа к ресурсам.

Документация здесь:

https://developer.apple.com/library/archive/documentation/Security/Conceptual/AppSandboxDesignGuide/AppSandboxInDepth/AppSandboxInDepth.html#//apple_ref/doc/uid/TP40011183-CH3-SW16

https://developer.apple.com/library/archive/documentation/Miscellaneous/Reference/EntitlementKeyReference/Chapters/EnablingAppSandbox.html#//apple_ref/doc/uid/TP40011195-CH4-SW18

0 голосов
/ 10 октября 2018

Это выглядит так, как будто имя папки не настроено на что-то разумное

USERNAME кажется немного странным

Если вы явно установите для него что-то реальное, которое, как вы знаете, существует, что происходит?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...