2015年 02月 20日

Shortcut Recorder がうまく動かなかった

Xcode 6.1.1 で Shortcut Recorder の 440a3d18e688142cd00fc88e4dc36ff355448fa6 を使ってみたらうまくいかなかった。

Xcode 上の Interface Builder で Custom View を追加し、Class を SRRecorderControl にすると、ビューがロードされてちゃんと表示される、という状態までは簡単にいけた。

しかし起動させてみるとグレーアウトされた状態になってしまった。これは enabled になっていないようなので、awakeFromNib で sr.enabled = true を付け加えた。これで起動させると、ひとまず動き、キー入力を受け付ける状態までは進むようになった。

しかし、キーを実際に入力しようとすると一切入力できず、無反応だった。これはどうやたら修飾キーまわりの設定が全くされていないとこのような挙動になるようだ。

結局 Shortcut Recorder のソースコードに println() を仕込みながら調べるハメになったが、デフォルトで設定されるはずのプロパティが一切設定されていないということがわかった。なので結局のところ自力で以下のようなコードを追加した。

inputHotkey.delegate = self
inputHotkey.allowsEscapeToCancelRecording = true
inputHotkey.setAllowedModifierFlags((NSEventModifierFlags.ShiftKeyMask | NSEventModifierFlags.CommandKeyMask | NSEventModifierFlags.ControlKeyMask | NSEventModifierFlags.AlternateKeyMask).rawValue, requiredModifierFlags: 0, allowsEmptyModifierFlags: false)
inputHotkey.enabled = true

該当コントロールのデフォルト値は initWithFrame: で行われているが、Interface Builder で配置したコントローラは initWithCoder: で初期化されるようなので、この処理が走らない。

Interface Builder 経由で置くことが想定されていないのだろうか。とはいえ README では IB で置けとも書いてあるし、よくわからない。

水曜日に体調不良で会社を休んだ。といっても自分は頭痛と身体がだるいというだけで熱はなく、妻が高熱を出したために主に子供の面倒を見る必要があった。

子供の熱からの両親ダウンというパターンだった。これ思いのほか厳しい。子供が元気になってから親が体調不良になると、子供はとにかく元気良く、相手をするのが辛い。

あと自分は普段離乳食を作っておらず任せっぱなしだったので勝手がわからず苦労した。レトルトもあったので使ったらよかったが、頭が働いておらず効率的な方法を描けなかった。普段からの訓練が必要とは思っていながらも、やってもらってると甘えてしまう。

保育園内定

書いてなかったけど保育園は第一希望で内定しました。既に入園検診済み。

園長面談(平日だけど両親参加必須)というのがどういうものなのか心配……