2012-03-16 6 views
0

ローカルのネットワークマシンでiTunesトラックの変更を監視しようとしています。私はスクリプトブリッジオブジェクトを持っており、それにコマンドを渡すことができますが、何らかの情報を見つけるために私はそれをポーリングする必要があります。私は分散オブジェクトが解決策であるかもしれないと考えましたが、このように値のいずれかを観察することが可能かどうかはわかりません。誰もがこれでどんな成功を収めましたか?ココアで分散オブジェクトを観測する

答えて

0

このようにネットワーク全体で分散オブジェクトを使用するには、ローカルマシン上のクライアントが接続するiTunesマシン上でサーバーを実行する必要があります。分散オブジェクトはこれを行うための比較的簡単な方法です。

分散通知を使用してiTunesトラックの変更通知を受信することはできますが、これらはローカルマシンにのみ送信されるため、サーバーはこれらのメッセージをリッスンしてからクライアントに通知する必要があります。あなたのtrackChanged:方法は次のようになり

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

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

おかげで、ロブをあなたはそうのような通知を登録することができます。それは私がローカル側でやっていたのとほぼ同じです。リモートマシンにScripting Bridgeオブジェクトを作成できるので、リモートマシン上にサーバーを作成するよりも簡単な方法があることを期待していました。しかし、私は間違いなくサーバー/クライアントモデルを調べます。 – Jesse

関連する問題