无法将文件传输/删除到〜/ Library / Application Scripts /在Swift中

问题描述 投票:0回答:1

我正在尝试将一组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“...无法删除,因为您无权访问它。”

swift macos applescript xctest
1个回答
0
投票

来自NSUserAppleScriptTask的文档

如果应用程序是沙箱,则脚本必须位于FileManager.SearchPathDirectory.applicationScriptsDirectory文件夹中。沙盒应用程序可以读取但不写入此文件夹。

© www.soinside.com 2019 - 2024. All rights reserved.