【发布时间】:2010-04-22 02:53:04
【问题描述】:
我正在开发一个可监控您在 iTunes 中收听的内容的 Cocoa 应用程序,由于我的目标是 Mac OS 10.5 及更高版本,因此我决定使用Scripting Bridge。
如果我尝试关闭 iTunes 的时间太接近我的应用程序轮询当前曲目的时间,iTunes 将立即重新启动!可靠地防止这种行为的唯一方法是先退出我的应用程序,然后退出 iTunes。
切换到EyeTunes 解决了这个问题,但它是一个相当老的代码库,我希望我可以在没有外部库的情况下完成这个。确定我做错了什么导致重新启动?
这里有一些示例代码;这个 sn-p 每隔几秒运行一次,由 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];
}
这是 Scripting Bridge 的一个已知问题,还是我使用不当?
【问题讨论】:
标签: objective-c cocoa itunes scripting-bridge