У вас нет разрешения на сохранение файла в Mac Mojave

В моем приложении 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/FolderName

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

2 ответа

Решение

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

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

Руководство по программированию файловой системы: 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

https://developer.apple.com/library/archive/documentation/Miscellaneous/Reference/EntitlementKeyReference/Chapters/EnablingAppSandbox.html

Похоже, что имя папки не настроено на что-то разумное

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

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

Другие вопросы по тегам