addGlobalMonitorForEventsMatchingMask não está funcionando

Estou com problemas para obter um aplicativo habilitado para assistência (XCode no caso de desenvolvimento) para capturar eventos globais keyDown. Eu já vi muitos exemplos de código como o abaixo, mas isso não funciona para mim no 10.9.4.

#import <AppKit/AppKit.h>
#import <Foundation/Foundation.h>

// 10.9+ only, see this url for compatibility:
// http://stackoverflow.com/questions/17693408/enable-access-for-assistive-devices-programmatically-on-10-9
BOOL checkAccessibility()
{
  NSDictionary* opts = @{(__bridge id)kAXTrustedCheckOptionPrompt: @YES};
  return AXIsProcessTrustedWithOptions((__bridge CFDictionaryRef)opts);
}

int main(int argc, const char * argv[])
{
  @autoreleasepool {
    if (checkAccessibility()) {
        NSLog(@"Accessibility Enabled");
    }
    else {
        NSLog(@"Accessibility Disabled");
    }

    NSLog(@"registering keydown mask");
    [NSEvent addGlobalMonitorForEventsMatchingMask:NSKeyDownMask
                                           handler:^(NSEvent *event){
                                               NSLog(@"keydown: %@", event.characters);

                                           }];

      NSLog(@"entering run loop.");
      [[NSRunLoop currentRunLoop] run];
    }
    return 0;
}

A saída recebida é:

2014-08-25 17:26:36.054 test[64725:303] Accessibility Enabled
2014-08-25 17:26:36.055 test[64725:303] registering keydown mask
2014-08-25 17:26:36.067 test[64725:303] entering run loop.

Uma vez aqui, nenhum outro registro ocorre, independentemente de quais teclas eu apertei ou de qual aplicativo foi focado quando eu as apertei.

FWIW, estou tentando escrever um aplicativo de assistência, não um registrador de chaves ou outra coisa má. Analisei as outras instâncias desta questão, mas elas parecem lidar com 1) o aplicativo não estar habilitado para assistência ou 2) não receber determinadas chaves de comando 'especiais' que seriam necessárias para o CGEvents receber. Eu não estou vendoqualquer chaves, mesmo as mais simples (ele está sendo executado durante a digitação deste post e nada foi registrado). TIA!

questionAnswers(1)

yourAnswerToTheQuestion