저는이 문제에 상당히 오래 동안 고생했습니다. 인터넷에서 솔루션을 찾기 위해 광범위하게 검색했습니다 ... IB의 연결이 올바르게 설정되어 있습니다. 과 같이로 awakeFromNib 내 NSWindow 표시를 엽니 아무런 문제NSWindow가 OSStatus 이벤트 처리기 메서드에 표시되지 않습니다.
NSApp activateIgnoringOtherApps:YES];
[popUp makeKeyAndOrderFront:nil];
합니다. awakeFromNib에서 메서드를 호출하고 메서드에서 동일한 두 줄을 사용하여 창을 열 수도 있습니다.
문제는이 방법에서 발생하고 호출 어느 하나의 방식 - NSWindow 표시가 열리지 않습니다 : 당신이 볼 수 있듯이, 나는 두 가지 방법을 시도했습니다
OSStatus myHotKeyHandler(EventHandlerCallRef nextHandler, EventRef anEvent, void *userData)
{
GeronimoAppDelegate *self = [[GeronimoAppDelegate alloc] init];
[self.popUp makeKeyAndOrderFront:nil];
GeronimoAppDelegate *appDel = (GeronimoAppDelegate *)[NSApp delegate];
[appDel.popUp makeKeyAndOrderFront:nil];
//Run the timer method
[self runBackTimer];
return noErr;
}
받는 참조하여 창을 열기로 appdelegate하여 NSWindow 객체에 액세스 할 수 있지만 둘 다 제대로 작동하지 않습니다. 이 메서드 또는 해당 메서드에서 호출 한 메서드에서 창을 열 수 있어야합니다. 내가 잘못 객체를 참조 할 수 있습니다? (이 방법들은 모두 같은 파일에 있습니다 - GeronimoAppDelegate.m)
그게 다야! 응용 프로그램 대리인에 연결된 응용 프로그램 개체의 대리자 콘센트가 없습니다. 너는 생명의 은인이야! 고마워. –