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上工作?