我想在iTunes加载时启动我的OSX应用程序,而无需在iTunes启动时监控后台进程。 last.fm客户端似乎这样做;当iTunes关闭时,我找不到任何后台进程,但一旦启动,last.fm应用程序就会随之打开。也许它正在使用某种可以启动另一个进程的iTunes插件?
使用后台进程执行此操作似乎相当简单,但我想在没有后台进程的情况下执行此操作,因此我的程序不使用系统资源。
后台进程的一个选项是使用NSWorkspace的通知中心,例如:
[[[NSWorkspace sharedWorkspace] notificationCenter] addObserver:self selector:@selector(appDidLaunch:) name:NSWorkspaceDidLaunchApplicationNotification object:nil]
然而,这显然需要后台进程。我发现的另一个选择是使用ProcessNotif,如下所示:
ProcessNotif *x = [[ProcessNotif new] autorelease];
[x setProcessName: @"iTunes"];
[x setTarget: self];
[x setAction: @selector(doStuff)];
[x start];
这可能比NSWorkspace方法更不理想,它也需要后台进程。
那么,是否有一些方法可以在启动时从iTunes 启动,无需后台进程?
谢谢!
答案 0 :(得分:1)
last.fm客户端通过安装iTunes插件实现了这一目标。当iTunes启动时,此插件会加载,然后有机会启动last.fm应用程序。要创建插件,您需要提供iTunes PlugIn SDK here。