我有一个USB"观察者"加载某些设备的设备描述符,并在NSMutableArray
中跟踪它们。
添加新设备后,我会收到回调,并可以遍历我拥有的设备列表,比较locationID
s(唯一会话ID)。
如果找不到设备的locationID
(应该总是这样),那么我将它添加到数组中。
现在,当设备被删除时,我会收到另一个回调。这有服务ID,与添加设备时使用的服务ID不同。
由于设备不见了,我无法获取设备描述符(因此,没有locationID
)。
如何将此服务ID与我的阵列中的设备相匹配?
答案 0 :(得分:1)
您是否尝试使用IORegistryEntryGetRegistryEntryID
在连接时获取设备的服务对象的唯一ID,并使用您在消失时获得的ID以匹配阵列中的设备?据我所知,应该工作。 (IOService
是IORegistryEntry
的子类,因此您可以在任何IORegistryEntryGetRegistryEntryID
对象上使用IOService
。)