iTunes启动时启动Mac应用程序,无后台进程(如last.fm)

时间:2011-09-05 21:14:19

标签: itunes launch macos autostart

我想在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 启动,无需后台进程?

谢谢!

1 个答案:

答案 0 :(得分:1)

last.fm客户端通过安装iTunes插件实现了这一目标。当iTunes启动时,此插件会加载,然后有机会启动last.fm应用程序。要创建插件,您需要提供iTunes PlugIn SDK here