iOS/iPhone/iPad/watchOS/tvOS/MacOSX/Android プログラミング, Objective-C, Cocoa, Swiftなど
最近はiOSのアプリケーション開発の比率が高くなっているので利用する機会が減ってきているが、OSXでは異なるアプリケーションに対して通知を送る事ができる。
通知を受け取る側(DistributedServer)のコードは以下のとおり。
@implementation AppDelegate
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
NSLog(@"%s", __func__);
[self _registerForNotes];
}
- (void)_registerForNotes
{
NSLog(@"%s", __func__);
NSDistributedNotificationCenter *dnc = [NSDistributedNotificationCenter defaultCenter];
[dnc addObserver:self
selector:@selector(_handleDistributedNote:)
name:@"DemoDistributedNote"
object:nil];
}
- (void)_handleDistributedNote:(NSNotification *)note
{
NSLog(@"%s Recieived Distributed Notification!:%@", __func__, note);
}
@end
通知を送る側(DistributedClient)のコードは以下のとおり。
@implementation AppDelegate
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
NSLog(@"%s", __func__);
[self _postNotes];
}
- (void)_postNotes
{
NSLog(@"%s", __func__);
NSDistributedNotificationCenter *dnc = [NSDistributedNotificationCenter defaultCenter];
[dnc postNotificationName:@"DemoDistributedNote"
object:nil];
}
@end
DistributedServerを起動した後に、DistributedClientを起動すると、アプリケーション間で通知が送られることが確認できる。