2

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

谢谢!

4

1 回答 1

1

last.fm 客户端通过安装 iTunes 插件来实现这一点。此插件在 iTunes 启动时加载,然后有机会启动 last.fm 应用程序。要创建插件,您需要此处提供的 iTunes 插件 SDK 。

于 2011-09-06T05:39:55.383 回答