TinyGrowl リリース
Growl.framework なしで Objective-C から Growl に通知を送るライブラリ、TinyGrowl をリリースしました。
http://github.com/psychs/tinygrowl
他のアプリに組み込むプラグインから Growl に通知を送りたい場合などに使えると思います。(プラグインで Growl.framework をロードしてしまうと、アプリ本体や他のプラグインで Growl.framework を使えなくなってしまうので)
使い方は、いたって簡単です。
まずは初期化。
growl = [TinyGrowlClient new]; growl.delegate = self; growl.allNotifications = [NSArray arrayWithObjects:@"Alert", @"Info", nil];
allNotifications には、Growl のプリファレンスに表示される notification の全種類を渡します。
通知を送るには、notifyWith... を呼べば ok です。
id context = @"test info context"; [growl notifyWithType:@"Info" title:@"Info title" description:@"Info description" clickContext:context];
sticky にしたい場合は、もう少しパラメータの多いほうのメソッドを呼びます。
id context = @"test alert context"; [growl notifyWithType:@"Alert" title:@"Alert Title" description:@"Alert description" clickContext:context sticky:YES priority:1 icon:nil];
ユーザが通知をクリックしたとき、あるいはタイムアウトして消えたときに、notifyWith... に渡した context を引数にしてコールバックメソッドが呼ばれます。
- (void)tinyGrowlClient:(TinyGrowlClient*)sender didClick:(id)context { NSLog(@"clicked: %@", context); } - (void)tinyGrowlClient:(TinyGrowlClient*)sender didTimeOut:(id)context { NSLog(@"timed out: %@", context); }
Growl の通知をクリックしたときに、何かアクションを起こしたい場合に便利です。