Невозможно передать / удалить файлы в ~ / Library / Application Scripts / в Swift - PullRequest
0 голосов
/ 31 августа 2018

Я пытаюсь скопировать набор файлов AppleScript в ~ / Library / Application Scripts / com.apple.test.MyApp-Runner /

let destinationURL = try! fileManager.url(
        for: FileManager.SearchPathDirectory.applicationScriptsDirectory,
        in: FileManager.SearchPathDomainMask.userDomainMask,
        appropriateFor:nil,
        create: true)
...

Когда я пытаюсь выполнить эту строку (если пункт существует в месте назначения)

fileManager.replaceItem(at: destinationURL, withItemAt: theFileURL, backupItemName: nil, resultingItemURL: nil)

Я получаю ошибку

The file "AppleScript.scpt" couldn't be saved in the folder "com.apple.test.MyApp-Runner"

И когда я выполняю это (если элемент не существует в месте назначения)

fileManager.copyItem(at: theFileURL, to: destinationURL)

Я получаю ошибку

setting security information: Operation not permitted

Разрешено ли FileManager записывать в ~ / Library / Application Scripts /? Есть ли разрешение, которое мне нужно применить?

редактирование: Также выполнение

fileManager.removeItem(at: theFileURLInApplicationScript)

выдает код ошибки 513 "... не удалось удалить, поскольку у вас нет прав доступа к нему."

1 Ответ

0 голосов
/ 31 августа 2018

Из документации NSUserAppleScriptTask

Если приложение находится в «песочнице», сценарий должен находиться в папке FileManager.SearchPathDirectory.applicationScriptsDirectory. Приложение из песочницы может читать из этой папки , но не записывать в .

...