我刚刚在Tim 的教程上重新做了大约 100 次试用。最后我让它工作了。虽然我发誓它在我第一次尝试时有效。在我的情况下,当我将“登录时启动”切换为开时,我只能在登录后看到帮助应用程序启动一秒钟。然后它就消失了。手动启动应用程序,我看到开关已关闭。
这是我发现的:
- 我的包标识符已经在列表中
NSArray *running = [[NSWorkspace sharedWorkspace] runningApplications]
- 的状态
NSRunningApplication *app (bundle name equal to my app)
是:
[app isActive] == NO
, [app isHidden] == NO
,[app isTerminated] = NO
所以我对代码进行了一些修改,例如:
BOOL alreadyRunning = NO;
BOOL isActive = NO; // my modification
NSArray *running = [[NSWorkspace sharedWorkspace] runningApplications];
for (NSRunningApplication *app in running) {
if ([[app bundleIdentifier] isEqualToString:@"com.mybundleidentifier"]) {
alreadyRunning = YES;
isActive = [app isActive]; // my modification
}
}
if (!alreadyRunning || !isActive) { // my modification
....