私はあなたがiTunesで聴いているものを監視するCocoaアプリに取り組んでおり、Mac OS 10.5以降をターゲットにしているので、ScriptingBridgeを使用することにしました。
アプリが現在のトラックをポーリングする時間に近すぎてiTunesを閉じようとすると、iTunesはすぐに再起動します。この動作を確実に防ぐ唯一の方法は、最初にアプリを終了してから、iTunesを終了することです。
EyeTunesに切り替えると問題は解決しますが、それはかなり古いコードベースであり、外部ライブラリなしでこれを達成できることを望んでいました。確かに私は再起動を引き起こしている何か間違ったことをしていますか?
ここにいくつかのサンプルコードがあります。このスニペットは、によってトリガーされ、数秒ごとに実行されますNSTimer
。
#import "iTunesBridge.h" // auto-generated according to Apple's docs
-(void)updateTrackInfo {
iTunesApplication *iTunes = [[SBApplication alloc] initWithBundleIdentifier:@"com.apple.iTunes"];
iTunesTrack *currentTrack = [iTunes currentTrack];
// inspect currentTrack to determine what's being played...
[iTunes release];
}
これはScriptingBridgeの既知の問題ですか、それとも間違って使用していますか?