我有一个启动守护程序,我希望它在每次应用程序启动时运行一个函数。
我目前NSWorkspace
用于检查应用程序的启动。
/Library/LaunchDaemons/中的 parasited.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>parasited</string>
<key>ProgramArguments</key>
<array>
<string>/Applications/parasited</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
<key>OnDemand</key>
<false/>
</dict>
</plist>
寄生的main.m
int main(int argc, const char * argv[])
{
@autoreleasepool {
[[[NSWorkspace sharedWorkspace]notificationCenter]addObserver:[[Parasited alloc] init] selector:@selector(inject) name:NSWorkspaceDidLaunchApplicationNotification object:nil];
}
}
似乎我的进程parasited
不断重启,我不知道为什么。我的目标是每次启动诸如“Safari、Mail、Finder 等”之类的应用程序时运行一个函数。
感谢您的帮助!