ObjC ブリッジを介して OSX 入力言語の読み取り/設定を試す場合は、次のようなスニペットを記述します。
(function () {
'use strict';
ObjC.import('Carbon');
ObjC.import('stdio');
var sourceList = $.TISCreateInputSourceList(null, false);
var current_source = $.TISCopyCurrentKeyboardInputSource();
var cfs = $.TISGetInputSourceProperty(current_source, $.kTISPropertyInputSourceID);
var cfn = $.TISGetInputSourceProperty(current_source, $.kTISPropertyLocalizedName)
var sourceCount = $.CFArrayGetCount(sourceList)
return $.CFArrayGetValueAtIndex(sourceList, 0)
})();
すぐに、CF 型の obj 参照の戻り値を取得します。ObjC 自体では、これらを NS 値に強制できます。JavaScript for Applications でそれをどのように達成できるかについて何か感覚はありますか?
(文字列またはその他のプリミティブ値の抽出に成功していない CF オブジェクト参照の戻り値を取得しています)