Как создать каталог в папке загрузок с помощью swift на macos? Разрешение на исключение. - PullRequest
0 голосов
/ 06 мая 2018

Я изо всех сил пытаюсь просто создать папку в каталоге загрузки пользователей на macos с этим кодом:

static func createFolderInDownloadsDirectory() {
    let downloadsDirectory = FileManager.default.urls(for: .downloadsDirectory, in: .userDomainMask).first!
    let downloadsDirectoryWithFolder = downloadsDirectory.appendingPathComponent("FolderToCreate")

    do {
        try FileManager.default.createDirectory(at: downloadsDirectoryWithFolder, withIntermediateDirectories: true, attributes: nil)
    } catch let error as NSError {
        print(error.localizedDescription)
    }
}

Это вывод:

You don’t have permission to save the file “FolderToCreate” in the folder “Downloads”. 

Как я могу это исправить?

1 Ответ

0 голосов
/ 06 мая 2018

Xcode 9 и более поздние версии включают песочницу по умолчанию, что серьезно ограничивает взаимодействие с системой. Однако вы все равно можете писать в папку «Загрузки», добавив в свое приложение право:

Выберите цель, затем Возможности и установите для папки загрузки значение Чтение / Запись:

Enable read/write to Downloads Folder under App Sandbox

Если вы не собираетесь распространять свое приложение через Mac App Store, вы можете отключить «песочницу». Ваше приложение все еще может быть подписано, но пользователи получат предупреждение при первом запуске приложения.

...