Запустите приложение Mac, когда iTunes запустится без фонового процесса (как last.fm) - PullRequest
2 голосов
/ 06 сентября 2011

Я хотел бы запустить приложение OSX при загрузке iTunes без фонового процесса для отслеживания запуска 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 Ответ

1 голос
/ 06 сентября 2011

Клиент last.fm достигает этого, установив плагин iTunes.Этот плагин загружается при запуске iTunes, а затем имеет шанс запустить приложение last.fm.Чтобы создать плагин, вам нужен iTunes PlugIn SDK, доступный здесь .

...