2011-09-05 143 views
2

我想在iTunes加載時啓動我的OSX應用程序,而無需在iTunes啓動時監視後臺進程。 last.fm客戶似乎這樣做; iTunes關閉時我無法找到後臺進程,但一旦啓動,last.fm應用程序就會隨之打開。也許它正在使用某種可以啓動另一個進程的iTunes插件?iTunes啓動時沒有後臺進程(如last.fm)啓動Mac應用程序

這似乎是相當微不足道的做到這一點與後臺進程,但我想沒有一個這樣做,所以我的程序不使用系統資源。與後臺進程

一種選擇是使用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

一個想法是在登錄時啓動iTunes,並且不要關閉它,因此可以通過登錄項打開 - Lion中的OSX正在使所有內容都繼續運行 – Mark

回答

1

last.fm客戶端通過安裝iTunes插件來實現。這個插件在iTunes啓動時被加載,然後有機會啓動last.fm應用程序。要創建一個插件,您需要提供here的iTunes PlugIn SDK。

+0

我認爲這正是我所需要的,謝謝! –