Thank you! The APIs listed below are utilized to identify FIDO HID devices exclusively, with their corresponding callback registration functions shown here. // Match only FIDO HID devices let matchingDict: [String: Any] = [ kIOHIDDeviceUsagePageKey as String: 0xF1D0 ] IOHIDManagerSetDeviceMatching(mgr, matchingDict as CFDictionary) // Register callbacks IOHIDManagerRegisterDeviceMatchingCallback(mgr, deviceAddedCallback, UnsafeMutableRawPointer(Unmanaged.passUnretained(self).toOpaque())) IOHIDManagerRegisterDeviceRemovalCallback(mgr, deviceRemovedCallback, UnsafeMutableRawPointer(Unmanaged.passUnretained(self).toOpaque())) // Schedule with current run loop IOHIDManagerScheduleWithRunLoop(mgr, CFRunLoopGetCurrent(), CFRunLoopMode.defaultMode.rawValue) let result = IOHIDManagerOpen(mgr, IOOptionBits(kIOHIDOptionsTypeNone)) Randomly it crashes at runloop Terminating Process: SecurityAgentHelper-arm64 [2303] Application Specific Information: abort() called Thread 0:: Dispatch queue: com.apple.main-thread 0 libsys
Topic:
Privacy & Security
SubTopic:
General
Tags: