1
사용자가 사용하는 맨 앞 윈도우 응용 프로그램을 추적하는 것을 목표로하는 Mac OS 응용 프로그램에서 작업하고 있습니다. 코드는 다음과 같다 :적십자를 클릭하여 응용 프로그램을 닫고 다시 열면 NSWorkspaceDidActivateApplicationNotification이 실패합니다.
@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
응용 프로그램은 좌측 상단에 십자 버튼을 클릭 한 후 재개에 의해 폐쇄 될 때 통지 못한다. 도크에서 응용 프로그램을 종료했다가 다시 열면 NSWorkspaceDidActivateApplicationNotification
이 정상적으로 작동합니다. 이전의 경우 작동하지 않는 이유는 무엇입니까? 미리 감사드립니다.
예, 알겠습니다. 크로스 버튼으로 앱을 닫으면 앱이 비활성화되지만 종료되지 않습니다. 이 경우 NSWorkspaceDidDeactivateApplicationNotification이 작동합니다. 하지만 닫은 후 응용 프로그램을 다시 열 때 'NSWorkspaceDidActivateApplicationNotification' 알림이 실패합니다. 해결 방법이 있습니까? – Priyanka
죄송합니다. 저는 MacO 개발에 대해 아무것도 모릅니다. 그것은 내가 MacOs를 사용하여 알아 차린 것입니다. – pramjeet