我使用IOHIDDeviceRegisterInputReportCallback在使用HID设备时收听传入的报告。在我断开设备的时候(在软件中,而不是在物理上),我想取消注册这个回调。但是,我没有看到任何方法在Apple的文档中解除我的回调。我确定我只是遗漏了一些东西。任何人都可以指出我从设备上解开的正确方法吗?如果我不应该直接解开我的回调,那么从我的软件与HID设备断开连接的正确方法是什么?
我在Swift中做这个项目,但Objective-C或C ++中的答案也应该没问题。
答案 0 :(得分:2)
在我问这个问题后不久,我在acquire/release semantics找到了答案。他们说:
注意:没有注销IOHID回调例程的功能。他们 通过调用寄存器函数并传递NULL来取消注册 指向回调例程的指针。
所以,答案是将null / nil指针传递给回调注册函数。