【发布时间】:2015-11-10 00:36:33
【问题描述】:
我有一个小程序来找出所有连接到 Mac 的 USB CDC 设备的供应商 ID 和产品 ID。程序使用 IOServiceNameMatching 和 IOServiceGetMatchingServices 分别获取匹配字典和服务迭代器,如下面代码 sn-p 所示:
matchingDictionary = IOServiceNameMatching("AppleUSBCDC");
IOServiceGetMatchingServices(kIOMasterPortDefault, matchingDictionary, &serviceIterator);
然后我遍历 serviceIterator 以枚举和提取所有连接的 USB CDC 设备的 ID。这在 OSX 10.10 之前一直可以正常工作,但 IOServiceGetMatchingServices 在 OSX 10.11 中返回空迭代器。为什么即使连接了 USB CDC 设备,它也只在 OSX 10.11 上返回空迭代器?是否有其他方法可以在 OSX 10.11 中获取设备列表?
【问题讨论】:
标签: macos cocoa usb osx-elcapitan iokit