我正在开发一款Mac OS应用程序,旨在跟踪用户使用的最前面的窗口应用程序。代码是这样的:
@interface MDAppController : NSObject <NSApplicationDelegate> {
NSApplication *currentApp;
}
@property (retain) NSApplication *currentApp;
@end
@implementation MDAppController
@synthesize currentApp;
- (id)init {
if ((self = [super init])) {
[[NSWorkspace sharedWorkspace] notificationCenter] addObserver:self
selector:@selector(activeAppDidChange:)
name:NSWorkspaceDidActivateApplicationNotification object:nil];
[[[NSWorkspace sharedWorkspace] notificationCenter] addObserver:self
selector:@selector(activeAppDidTerminate:)
name:NSWorkspaceDidTerminateApplicationNotification object:nil];
}
return self;
}
单击左上角的十字按钮然后重新打开,NSWorkspaceDidActivateApplicationNotification
无法通知应用程序何时关闭。
如果我从Dock退出应用程序并重新打开它,那么NSWorkspaceDidActivateApplicationNotification
工作正常。
有什么建议为什么它在以前的情况下不起作用?提前谢谢。
答案 0 :(得分:0)
我没有任何开发MacO应用程序的经验,但点击左上方交叉时,应用程序不会退出。只有那个窗口关闭。您可能需要使用其他方法。