Quicksilver の Twitter plugin である QSTwitter の最新版 1.7 をリリースしました。
1.6 での変更は、 following と follower を間違って取得していた問題の修正で、 1.7 での変更は Growl サポートを入れたことです。
Growl をアプリでサポートするのはわりとかんたんで、
- .plist を書く
- 通知 API を呼ぶ
たったこれだけで OK 。なのだけれど、 QSTwitter みたいなプラグインで Growl を使うにはそこまでかんたんでなく、以下のような手順になります。
- .plist を書くかわりに delegate を実装
- 通知 API を呼ぶ
- Framework のライブラリパスを @executable_path から @loader_path に変える
3つめで1時間ほどハマってしまいましたが、 install_name_tool というものを使えば OK でした。
% install_name_tool -change \
'@executable_path/../Frameworks/Growl.framework/Versions/A/Growl' \
'@loader_path/../Frameworks/Growl.framework/Versions/A/Growl
プラグイン (bundle) は、アプリケーション本体のパスと別のところにあるため、 @executable_path ではまずいわけですね。また、バイナリ配布されている Growl.SDK は @executable_path でビルドされているため、 @loader_path を指定してやらないとプラグインからはそのままでは組み込めない、と。





日本語