Я хочу создать (".scpt") файл в каталоге скриптов приложений приложений MacOS.
При первом запуске приложения я представляю NSOpenPanel
, чтобы получить закладку в области безопасности для каталога сценариев приложения, который хранится на диске.
let data = try url.bookmarkData(options: .withSecurityScope, includingResourceValuesForKeys: nil, relativeTo: nil)
... // store to disk
Поиски ...
var bookmark: Bookmark = ... // load from storage
var isStale = false
let url = try! URL.init(resolvingBookmarkData: bookmark.value, options: .withSecurityScope, relativeTo: nil, bookmarkDataIsStale: &isStale
... и использование закладок работает: url.startAccessingSecurityScopedResource()
возвращает true
Но создание файла внутри этого каталога завершается неудачно:
let bundleUrl = Bundle.main.url(forResource: "foo", withExtension: "scpt")!
try! FileManager.default.copyItem(at: bundleUrl, to: url.appendingPathComponent("copyOfFoo.scpt"))
Исключение:
Operation not permitted
Не удалось создать copyOfFoo.scpt ... невозможно скопировать, потому что у вас нет разрешения на доступ к "com ...
Есть подсказка? Заранее спасибо.