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

时间:2018-08-30 23:35:11

标签: swift macos applescript xctest

我正在尝试将一组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 :(得分:0)

根据NSUserAppleScriptTask

的文档
  

如果应用程序已被沙箱化,则脚本必须位于content = "<h1>Thanks</h1>"文件夹中。沙盒应用程序可能会读取但不能写入该文件夹。