我想运行终端的此命令,但是要从swift中调用它:
osascript /Users/faranegar/Desktop/sms.scpt 00989194774880 "It's okay"
我已经尝试过这种方式,但是它不会出现以下错误:
@discardableResult
func shell(_ args: String...) -> Int32 {
let task = Process()
task.launchPath = "/usr/bin/env"
task.arguments = args
task.launch()
task.waitUntilExit()
return task.terminationStatus
}
@IBAction func sendPressed(_ sender: NSButtonCell) {
shell("osascript /Users/faranegar/Desktop/sms.scpt 00989194774880 \"some text\"")
}
错误:env:osascript /Users/faranegar/Desktop/sms.scpt 00989194774880“某些文本”:没有这样的文件或目录
如果我这样写:
shell("osascript", "/Users/faranegar/Desktop/sms.scpt", "00989194774880", "\"It's okay\"")
然后我会收到此错误:
/Users/faranegar/Desktop/sms.scpt:脚本错误-54。由于错误-1700而无法获得错误文本。
您知道如何运行命令而不出现错误吗?
答案 0 :(得分:0)
我找到了我所需要的。 我想通过为macOS用swift编写的应用程序向iMessage发送消息。 这是我使用的代码:
@IBAction func sendPressed(_ sender: NSButtonCell) {
let service = NSSharingService(named: NSSharingService.Name.composeMessage)!
service.recipients = [phoneNumberTextField.stringValue]
service.perform(withItems: [messageTextField.stringValue])
}