
sayコマンドでハローするMacアプリ(Swift)のサンプルコードを描いてみます。
import Cocoa
@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate {
@IBOutlet weak var window: NSWindow!
weak var myword : NSTextField?
func applicationDidFinishLaunching(aNotification: NSNotification) {
let fr = window.frame
window.setFrame(NSRect(origin: fr.origin, size: CGSize(width: 400, height: 200)), display: true)
let textField = NSTextField(frame: NSRect(x: 50, y: 100, width: CGRectGetMaxX(self.window.contentView.bounds) – 100, height: 30))
window.contentView.addSubview(textField)
myword = textField
let btn = NSButton(frame: NSRect(x: 50, y: 50, width: 100, height: 30))
btn.title = “say”
window.contentView.addSubview(btn)
btn.target = self
btn.action = “sayWord:”
}
func sayWord(btn: NSButton) {
if let word = myword?.stringValue {
let task = NSTask()
task.launchPath = “/usr/bin/say”
task.arguments = [“-v”, “Kyoko”, word]
task.launch()
task.waitUntilExit()
}
}
}