【发布时间】:2017-10-06 10:53:27
【问题描述】:
我正在开发一个 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 工作正常。
有什么建议为什么它在以前的情况下不起作用?提前致谢。
【问题讨论】:
标签: objective-c macos nsworkspace