---
title: "init(deviceMatchingDictionary:)"
framework: accessoryaccess
role: symbol
role_heading: Initializer
path: "accessoryaccess/aausbaccessorymatchingcriteria/init(devicematchingdictionary:)"
---

# init(deviceMatchingDictionary:)

Initializes a criteria object using a USB device matching dictionary.

## Declaration

```swift
init?(deviceMatchingDictionary dictionary: [String : any Sendable])
```

## Parameters

- `dictionary`: The matching dictionary containing USB device properties.

## Discussion

Discussion Use createMatchingDictionaryWithVendorID:productID:bcdDevice:deviceClass:deviceSubclass:deviceProtocol:speed:productIDArray: to create such a matching dictionary. See IOTypes.h User-Space in IOKit for more details about dictionary keys for the USB device properties.

## See Also

### Creating matching criteria

- [init(deviceMatchingDictionary:interfaceMatchingDictionaries:interfaceMatchingOption:)](accessoryaccess/aausbaccessorymatchingcriteria/init(devicematchingdictionary:interfacematchingdictionaries:interfacematchingoption:).md)
- [init(deviceMatchingCriteria:)](accessoryaccess/aausbaccessorymatchingcriteria/init(devicematchingcriteria:).md)
- [init(deviceMatchingCriteria:interfaceMatchingCriteria:interfaceMatchingOption:)](accessoryaccess/aausbaccessorymatchingcriteria/init(devicematchingcriteria:interfacematchingcriteria:interfacematchingoption:).md)
