MacApp say ハロー

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()

        }

    }

}