あなたは-[NSDistributedNotificationCenter addObserver:selector:name:object:]
を探している:他の場所で同じクラスの
NSDistributedNotificationCenter *dnc = [NSDistributedNotificationCenter defaultCenter];
[dnc addObserver:self selector:@selector(updateTrackInfo:) name:@"com.apple.iTunes.playerInfo" object:nil];
...それも、あなたに通知内のトラック情報の全体の束を与える
- (void) updateTrackInfo:(NSNotification *)notification {
NSDictionary *information = [notification userInfo];
NSLog(@"track information: %@", information);
}
を。それいいじゃない?
- (id) init {
self = [super init];
if (!self) return nil;
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(receiveNotification:)
name:@"com.apple.iTunes.playerInfo"
object:nil];
return self;}
- (void) receiveNotification:(NSNotification *) notification {
if ([@"com.apple.iTunes.playerInfo" isEqualToString:@"com.apple.iTunes.playerInfo"]) {
NSLog (@"Successfully received the test notification!");
}}
をしかし、それはNSNotificationCenterの代わりNSDistributedNotificationCenterを使用:あなたの助けのための
これはほとんどの時間にはうまくいきますが、現在の曲が停止しているときには通知されません。つまり、現在の曲は_no_です。 – seaturtle