私は結果を与えるApplescriptを持っています。しかし、値を文字列にワープすることができないので、それを使用できます。
var set: String = "set windowTile to \"\"\n"
var tell: String = "tell application \"System Events\"\n"
var setFrontApp: String = "set frontApp to first application process whose frontmost is true\n"
var setFrontAppName: String = "set frontAppName to name of frontApp\n"
var tellProcces: String = "tell process frontAppName\n"
var tellFirst: String = "tell (1st window whose value of attribute \"AXMain\" is true)\n"
var setWindowTitle: String = "set windowTitle to value of attribute \"AXTitle\"\n"
var endTellFirst: String = "end tell\n"
var endTellProcess: String = "end tell\n"
var endTell: String = "end tell"
var startAtLoginScript: NSAppleScript = NSAppleScript(source: set + tell + setFrontApp + setFrontAppName + tellProcces + tellFirst + setWindowTitle + endTellFirst + endTellProcess + endTell)
var scriptResult:NSAppleEventDescriptor = startAtLoginScript.executeAndReturnError(errorInfo)!
NSLog ("%@", scriptResult)
NSLog は次のようになります。
2015-03-14 15:15:14.001 test[7315:161881]
<NSAppleEventDescriptor:'utxt'("test.swift")>
実際の結果は文字列「test.swift」です。この結果をアンラップ/解析するにはどうすればよいですか?
これを追加してみました:
var number:Int = 1
let result = scriptResult.descriptorAtIndex(number)
また、メソッドを使用してみましたdescriptorForKeyword(<#keyword: AEKeyword#>)
が、AEKeywordを設定するホットがわかりません。