2013-06-08 3 views
3

이 코드를 사용하여 내 앱의 전체 키보드 단축키를 캡처하고 있습니다.일부 컴퓨터에서는 addGlobalMonitorForEventsMatchingMask가 작동하지 않습니다.

이것은 거의 모든 컴퓨터에서 잘 작동합니다. 이번 주에 새로운 Retina Macbook Pro에서 시도했는데 addGlobalMonitorForEventsMatchingMask이 전혀 작동하지 않습니다. 그것은 디버깅을 위해 여기에 설정 한 것처럼 모든 키를 기록하지 않습니다.

더 신뢰할 수있는 방법이 있습니까? 지금은 applicationDidFinishLaunching에로드합니다.

App Delegate에서 자체 메소드로로드하는 것이 더 효과적 일지 모르지만 그 구문이 어떻게 생겼는지 확실하지 않습니다.

[NSEvent addGlobalMonitorForEventsMatchingMask:NSKeyDownMask handler:^(NSEvent *event){ 

    NSLog(@"sequence = %li", (unsigned long)[event modifierFlags]); 

    // Activate app when pressing cmd-c 
    if([event modifierFlags] == 1048840 && [[event charactersIgnoringModifiers] compare:@"c"] == 0) { 

답변

0

시스템 환경 설정의 "보조 장치 액세스 허용"을 선택하고 다시 시도하십시오.

8

OSX 10.9 (매버릭스)에서는 설정이 시스템 환경 설정> 보안 & 개인 정보> 개인 정보> 접근성으로 이동되었습니다. 앱이 선택되어 있는지 확인하십시오.

+1

명확하게 말하면 "확인 ** Xcode **가 선택되어 있는지 확인해야합니다." – Hlung

+1

앱 체크 여부를 감지하는 코드가 있습니까? 조용히 실패하지 않고이 설정을 변경하도록 사용자에게 경고하고 싶습니다. –

+0

@ sja26 프로그래밍 방식으로이 작업을 수행 할 수 있습니까? – Kaunteya

관련 문제