2012-03-16 2 views
0

로컬 네트워크 컴퓨터에서 iTunes 트랙 변경 사항을 관찰하려고합니다. 스크립팅 브리지 객체가 있고 명령을 전달할 수 있지만 정보를 찾으려면 폴링해야합니다. 나는 분산 객체가 해결책일지도 모른다고 생각했지만, 이런 식으로 값을 관찰하는 것이 가능한지 확실하지 않습니다. 아무도 이것으로 어떤 성공을 했습니까?코코아에서 분산 객체 관찰

답변

0

이러한 방식으로 네트워크에서 분산 객체를 사용하려면 로컬 시스템의 클라이언트가 연결되는 iTunes 시스템에서 서버를 실행해야합니다. 분산 객체는 이것을 수행하는 비교적 간단한 방법입니다.

분산 알림을 사용하여 iTunes 트랙 변경 알림을 수신 할 수 있지만 로컬 컴퓨터에만 게시되므로 서버는이를 수신 한 다음 클라이언트에 알릴 필요가 있습니다. 당신과 같이 알림을 등록 할 수 있습니다

NSDistributedNotificationCenter* nc = [NSDistributedNotificationCenter defaultCenter]; 
[nc addObserver:self 
     selector:@selector(trackChanged:) 
      name:@"com.apple.iTunes.playerInfo" 
     object:nil]; 

귀하의 trackChanged: 방법은 다음과 같을 것이다 :

- (void)trackChanged:(NSNotification*)notification 
{ 
    NSLog(@"%@",notification); 
    //do something with [notification userInfo]. 
} 
+0

감사합니다, 롭. 그것은 내가 로컬 사이드에서하고있는 거의 정확한 방법입니다. 원격 컴퓨터에 스크립팅 브리지 개체를 만들 수 있기 때문에 원격 컴퓨터에 서버를 만드는 것보다 쉬운 방법이 있기를 바랬습니다. 하지만 확실히 서버/클라이언트 모델을 살펴볼 것입니다. – Jesse

관련 문제