У вас нет разрешения на сохранение файла в 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
Вы также можете посмотреть закладку в области безопасности для постоянного доступа к ресурсам.
Документация здесь:
Похоже, что имя папки не настроено на что-то разумное
USERNAME кажется немного странным
Если вы явно установите для чего-то реального, что вы знаете, существует, что происходит?