2011-05-01 1 views
3

Je sais que vous pouvez utiliser [iTunesDNC addObserver:self selector:@selector(updateInfo:) name:@"com.apple.iTunes.playerInfo" object:nil]; pour recevoir une notification chaque fois que le lecteur change de chanson/s'arrête/lit/etc. Mais ce dont j'ai besoin, c'est d'une notification chaque fois que l'information est changée sur iTunes (titre de chanson changé, paroles changées, artiste, etc.)Recevez une notification en utilisant NSDistributedNotificationCenter pour iTunes sur le changement d'informations de chanson

Des suggestions? Im assez sûr que je dois juste changer com.apple.iTunes.playerInfo à quelque chose d'autre qui n'est pas playerInfo.

Je sais que cela devrait être possible, car il y a une application appelée SongGenie qui va changer ses informations si vous modifiez les tags ID3 d'une chanson sur iTunes ou ajoutez des paroles.

Merci!

Répondre

11

Oui, il y a un moyen. Chaque fois que l'information de chanson est modifiée, iTunes publie une notification "com.apple.iTunes.sourceSaved" dont le dictionnaire userInfo est la bibliothèque de l'utilisateur.

Vous pouvez consulter cette notification et d'autres notifications envoyées par iTunes en écoutant chaque notification envoyée au centre de notifications distribué.

[[NSDistributedNotificationCenter defaultCenter] addObserver:self 
                selector:@selector(allDistributedNotifications:) 
                name:nil 
                object:nil]; 

- (void) allDistributedNotifications:(NSNotification *)note 
{ 
    NSString *object = [note object]; 
    NSString *name = [note name]; 
    NSDictionary *userInfo = [note userInfo]; 
    NSLog(@"<%p>%s: object: %@ name: %@ userInfo: %@", self, __PRETTY_FUNCTION__, object, name, userInfo); 
} 
+0

mec, tu es grand merci! haha non seulement sauvé ma santé mentale avec le changement de chanson iTunes (j'avais presque abandonné) mais cette fonction pour vérifier toutes les notifications ... hahaha je me demandais s'il y avait quelque chose comme ça! Merci! –

+1

Cela ne vous donne-t-il pas de notifications de toutes les applications et pas seulement d'iTunes? –

+0

oui cela vous donne tout si une application envoie une notification à NSDistributedNotificationCenter. – mohacs

Questions connexes