---
title: ColorSyncDeviceProfileIterateCallback
framework: colorsync
role: symbol
role_heading: Type Alias
platforms: [Mac Catalyst 13.0+, macOS 10.13+]
path: colorsync/colorsyncdeviceprofileiteratecallback
---

# ColorSyncDeviceProfileIterateCallback

A callback that ColorSync invokes for each device profile during iteration.

## Declaration

```swift
typealias ColorSyncDeviceProfileIterateCallback = (CFDictionary?, UnsafeMutableRawPointer?) -> Bool
```

## Parameters

- `colorSyncDeviceProfileInfo`: A dictionary describing the device profile.
- `userInfo`: The user info passed to the iteration function. Optional.

## Discussion

Discussion The colorSyncDeviceProfileInfo dictionary contains the following keys: kColorSyncDeviceClass              {camera, display, printer, scanner} kColorSyncDeviceID                 {CFUUIDRef registered with ColorSync} kColorSyncDeviceDescription        {localized device description} kColorSyncDeviceModeDescription    {localized device mode description} kColorSyncDeviceProfileID          {ProfileID registered with ColorSync} kColorSyncDeviceProfileURL         {CFURLRef registered with ColorSync} kColorSyncDeviceProfileIsFactory   {kCFBooleanTrue or kCFBooleanFalse} kColorSyncDeviceProfileIsDefault   {kCFBooleanTrue or kCFBooleanFalse} kColorSyncDeviceProfileIsCurrent   {kCFBooleanTrue or kCFBooleanFalse}

## See Also

### Registering and enumerating devices

- [ColorSyncDeviceCopyDeviceInfo(_:_:)](colorsync/colorsyncdevicecopydeviceinfo(_:_:).md)
- [ColorSyncDeviceSetCustomProfiles(_:_:_:)](colorsync/colorsyncdevicesetcustomprofiles(_:_:_:).md)
- [ColorSyncIterateDeviceProfiles(_:_:)](colorsync/colorsynciteratedeviceprofiles(_:_:).md)
- [ColorSyncProfileCreateDeviceProfile(_:_:_:)](colorsync/colorsyncprofilecreatedeviceprofile(_:_:_:).md)
- [ColorSyncRegisterDevice(_:_:_:)](colorsync/colorsyncregisterdevice(_:_:_:).md)
- [ColorSyncUnregisterDevice(_:_:)](colorsync/colorsyncunregisterdevice(_:_:).md)
