Swift 错误: 启动路径不能访问

标签: shell Swift
发布时间: 2015/7/2 1:03:29
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我在做简单的 OSX 应用程序来显示/隐藏隐藏的文件在从 StatuBar 菜单 Finder 中。

这是 IBAction 来显示/隐藏文件:

 @IBAction func menuClicked(sender: NSMenuItem) {
    let task = NSTask()
    task.currentDirectoryPath = "/var/tmp/"

    task.launchPath = "usr/bin/defaults"

    if(sender.state == NSOnState){
        sender.state = NSOffState
        task.arguments = ["write", "com.apple.finder", "AppleShowAllFiles", "NO"]
    }else{
        sender.state = NSOnState
        task.arguments = ["write", "com.apple.finder", "AppleShowAllFiles", "YES"]
    }

    task.launch()
    task.waitUntilExit()

    let killTask = NSTask()
    killTask.launchPath = "usr/bin/killall"
    killTask.arguments = ["Finder"]
    killTask.launch()
}

这给了我这个错误:

2015-05-10 23:54:22.237 ShowHideFiles[1234:303] An uncaught exception was raised
2015-05-10 23:54:22.238 ShowHideFiles[1234:303] launch path not accessible

我试着找出原因,但找不到答案。

我也想看这两个 launchPath 是错误的通过禁用一个或其他的他们都给予了同样的错误。

谁能帮我吗?

解决方法 1:

两个 varusr 是同一级别的所以你需要前缀 usr/ 像你那样 var :

task.currentDirectoryPath = "/var/tmp/"
task.launchPath = "/usr/bin/defaults"
killTask.launchPath = "/usr/bin/killall"
官方微信
官方QQ群
31647020