Xcode 使用Swift通过ssh向Raspberry Pi发送命令

Xcode 使用Swift通过ssh向Raspberry Pi发送命令,xcode,swift,ssh,raspberry-pi,Xcode,Swift,Ssh,Raspberry Pi,我在我的pi上运行OSMC,晚上我喜欢在晚上关闭HDMI而不关闭整个pi。现在,我正在通过终端或我创建的一个小型自动化工作流程来实现这一点。最近我想把它合并到一个状态栏应用程序中。我遇到的问题是如何使用swift将ssh连接到pi中,然后,一旦我连接到pi中,就向pi发送命令。这是我现在所拥有的,但不起作用: @IBAction func OSMCClicked(sender: NSMenuItem) { let task = NSTask() task.launchPath =

我在我的pi上运行OSMC,晚上我喜欢在晚上关闭HDMI而不关闭整个pi。现在,我正在通过终端或我创建的一个小型自动化工作流程来实现这一点。最近我想把它合并到一个状态栏应用程序中。我遇到的问题是如何使用swift将ssh连接到pi中,然后,一旦我连接到pi中,就向pi发送命令。这是我现在所拥有的,但不起作用:

@IBAction func OSMCClicked(sender: NSMenuItem) {
    let task = NSTask()
    task.launchPath = "/usr/bin/"
    if (sender.state == NSOnState) {
        sender.state = NSOffState
        task.arguments = ["mosh osmc@172.19.32.246", "osmc stop", "exit"]
        //task.arguments = ["mosh osmc@172.19.32.246"]
        //task.arguments = ["OSMC stop"]
        //task.arguments = ["exit"]
    }
    else {
        sender.state = NSOnState
        task.arguments = ["mosh osmc@172.19.32.246", "osmc start", "exit"]
        //task.arguments = ["mosh osmc@172.19.32.246"]
        //task.arguments = ["osmc start"]
        //task.arguments = ["exit"]
    }
    task.launch()
}

所以我对ssh或NSTask不太了解。事实证明,启动路径可以是
/usr/bin/ssh
,参数则是
[”osmc@172.19.32.246“,”osmc启动“,”退出“]
。除了
osmc
别名在我的.bashrc文件中,当它不是交互式的时候就不起作用,所以我只是用它来代替实际的命令,并使用-t标志而不是exit

但是如何插入密码?请按照本页上的说明操作