0
로컬 네트워크 컴퓨터에서 iTunes 트랙 변경 사항을 관찰하려고합니다. 스크립팅 브리지 객체가 있고 명령을 전달할 수 있지만 정보를 찾으려면 폴링해야합니다. 나는 분산 객체가 해결책일지도 모른다고 생각했지만, 이런 식으로 값을 관찰하는 것이 가능한지 확실하지 않습니다. 아무도 이것으로 어떤 성공을 했습니까?코코아에서 분산 객체 관찰
로컬 네트워크 컴퓨터에서 iTunes 트랙 변경 사항을 관찰하려고합니다. 스크립팅 브리지 객체가 있고 명령을 전달할 수 있지만 정보를 찾으려면 폴링해야합니다. 나는 분산 객체가 해결책일지도 모른다고 생각했지만, 이런 식으로 값을 관찰하는 것이 가능한지 확실하지 않습니다. 아무도 이것으로 어떤 성공을 했습니까?코코아에서 분산 객체 관찰
이러한 방식으로 네트워크에서 분산 객체를 사용하려면 로컬 시스템의 클라이언트가 연결되는 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].
}
감사합니다, 롭. 그것은 내가 로컬 사이드에서하고있는 거의 정확한 방법입니다. 원격 컴퓨터에 스크립팅 브리지 개체를 만들 수 있기 때문에 원격 컴퓨터에 서버를 만드는 것보다 쉬운 방법이 있기를 바랬습니다. 하지만 확실히 서버/클라이언트 모델을 살펴볼 것입니다. – Jesse