为什么我不能访问NSEvent?

时间:2012-02-02 00:45:19

标签: objective-c keyboard-events

我正在尝试使用NSEvent,但是如果我尝试访问该类,则会出现错误。我起初认为这是因为我试图从main方法中使用它,但即使我试图在类中使用它,它仍然不会构建。

这是我的代码:

#import <Foundation/Foundation.h>
#import <appkit/NSEvent.h>

@interface Test : NSObject
@end

@implementation Test

-(id) init {
    self = [super init];
    if (self) {
        NSLog(@"New Test Class");
        NSLog(@"%@", [NSEvent class]);
    }
    return self;
}

@end

int main (int argc, const char * argv[])
{
    @autoreleasepool {

        NSUInteger eventMask = NSKeyDownMask;
        Test *t = [[Test alloc] init];
        /*id eventMonitor = [NSEvent addLocalMonitorForEventsMatchingMask:eventMask handler:^(NSEvent *incomingEvent)
                           {
                               NSEvent *result = incomingEvent;

                               NSLog(@"%i", (int)[result keyCode]);

                               return result;
                           }];*/
    }
    return 0;
}

这是我得到的错误: enter image description here

1 个答案:

答案 0 :(得分:2)

您是否链接到AppKit框架?您的#import陈述会让我相信可能错过了这一步骤。您可以通过在Xcode中将AppKit添加到项目中来修复它,或者如果您使用命令行,请添加-framework AppKit