init(deviceMatchingCriteria:interfaceMatchingCriteria:interfaceMatchingOption:)
Initializes a criteria object using USB interface matching criteria, for the given USB device matching criteria.
Declaration
convenience init(deviceMatchingCriteria: AAUSBAccessoryMatchingCriteria.DeviceMatchingCriteria?, interfaceMatchingCriteria: [AAUSBAccessoryMatchingCriteria.InterfaceMatchingCriteria], interfaceMatchingOption: AAUSBAccessoryMatchingCriteria.InterfaceMatchingOption)Parameters
- deviceMatchingCriteria:
USB device matching criteria.
- interfaceMatchingCriteria:
USB interface matching criteria.
- interfaceMatchingOption:
Option that specifies how the framework performs interface matching for a USB accessory. If the criteria is initialized with Matchall, then it evaluates to
truefor a USB accessory whenIt matches the given non-nil deviceMatchingDictionary, and
For the currently set configuration, all the
interfaceMatchingDictionariesmatch at least one of its USB interfaces.
Discussion
Initialize a criteria object using USB interface matching dictionaries, for the given USB device matching dictionary.
Use createMatchingDictionaryWithVendorID:productID:bcdDevice:deviceClass:deviceSubclass:deviceProtocol:speed:productIDArray: to create a USB device matching dictionary.
Use createMatchingDictionaryWithVendorID:productID:bcdDevice:interfaceNumber:configurationValue:interfaceClass:interfaceSubclass:interfaceProtocol:speed:productIDArray: to create a USB interface matching dictionary.
See USBSpec.h in USBSpec.h User-Space in IOKit for more details about dictionary keys for the USB device/interface matching dictionaries.
If the criteria is initialized with AAUSBAccessoryMatchingCriteria.InterfaceMatchingOption.matchAny, then it evaluates to true for a USB accessory when it matches the given non-nil deviceMatchingDictionary, and for the currently set configuration, any of the interfaceMatchingDictionaries match at least one of its USB interfaces.