2011-05-01 6 views
3

[iTunesDNC addObserver:self selector:@selector(updateInfo:) name:@"com.apple.iTunes.playerInfo" object:nil];을 사용하여 노래/중지/재생/등을 변경할 때마다 알림을받을 수 있다는 것을 알고 있습니다. 하지만 필요한 것은 iTunes에서 정보가 변경 될 때마다 알림입니다 (예 : 노래 제목이 변경됨, 가사가 변경됨, 아티스트 등)노래 정보 변경시 iTunes 용 NSDistributedNotificationCenter를 사용하여 알림 받기

의견이 있습니까? 임 꽤 확신 그냥 변경해야 com.apple.iTunes.playerInfo 다른 사람이 아닌 playerInfo.

SongGenie이라는 앱이 있기 때문에 iTunes의 노래 ID3 태그를 수정하거나 가사를 추가하면 정보가 변경 될 수 있습니다.

감사합니다.

답변

11

예, 방법이 있습니다. 노래 정보가 변경 될 때마다 iTunes는 userInfo 사전이 사용자의 라이브러리 인 "com.apple.iTunes.sourceSaved"알림을 게시합니다.

iTunes가 전송 알림 센터에 게시 된 모든 알림을 수신하여 보내는이 알림 및 기타 알림을 확인할 수 있습니다.

[[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

친구, 당신은 좋은 것 감사합니다! 하하는 iTunes 노래 변경 (나는 거의 포기했었다)으로 나의 온건함을 저장했을뿐만 아니라 모든 알림을 확인하는 기능 ... 하하하 나는 그와 비슷한 것이 있는지 궁금해했다. 고마워요! –

+1

iTunes뿐 아니라 모든 응용 프로그램에서 알림을 제공하지 않습니까? –

+0

예 앱이 NSDistributedNotificationCenter에 알림을 보내는 경우 모두 제공합니다. – mohacs

관련 문제