Carbon事件处理仍在El Capitan工作吗



Carbon事件处理在OS X 10.11 El Capitan中仍然有效吗?

EventTypeSpec OPNEventType[3];
    OPNEventType[0].eventClass = getEventClass();
    OPNEventType[0].eventKind  = getEventKindInsert();
    OPNEventType[1].eventClass = getEventClass();
    OPNEventType[1].eventKind  = getEventKindRemove();
    OPNEventType[2].eventClass = getEventClass();
    OPNEventType[2].eventKind  = getEventKindDataAvailable();
    handlerUPP = NewEventHandlerUPP(CBOpticonHandler);
    //  create the OPN interface, which is passed to our event handler
    interface = CreateOPNInterface();
    OSStatus status = InstallApplicationEventHandler(handlerUPP, 3, OPNEventType, interface, NULL);
    if ( status != noErr) {
        NSLog(@"%s: InstallApplicationEventHandler failed!", __PRETTY_FUNCTION__);
        [self stop];
        return;
    }

升级OS X后,此代码似乎不再工作。有什么替代方案?

您使用的是SDK附带的.dlib还是.framework?尝试使用.dlib-它不会崩溃并且InstallApplicationEventHandler成功完成。

然而,通信本身无法正常工作,即SDK提供的演示项目无法读取/设置设备上的时间、读取条形码(尽管应用程序会检测扫描仪何时连接/断开连接)。我相信这与El Cap的CDC驱动程序的更改有关,因为扫描仪本身就是CDC设备。

只是想知道-你有没有运气解决这个问题,并使OPN2001在El Capitan上工作?

最新更新