---
title: "ColorSyncDeviceSetCustomProfiles(_:_:_:)"
framework: colorsync
role: symbol
role_heading: Function
platforms: [Mac Catalyst 13.0+, macOS 10.13+]
path: "colorsync/colorsyncdevicesetcustomprofiles(_:_:_:)"
---

# ColorSyncDeviceSetCustomProfiles(_:_:_:)

Sets custom profiles for a device in lieu of its factory profiles.

## Declaration

```swift
func ColorSyncDeviceSetCustomProfiles(_ deviceClass: CFString!, _ deviceID: CFUUID!, _ profileInfo: CFDictionary!) -> Bool
```

## Parameters

- `deviceClass`: The class of the device.
- `deviceID`: The identifier of the device.
- `profileInfo`: A CFDictionary containing the information about custom profiles to set in lieu of factory profiles.

## Return Value

Return Value true on success and false in case of failure.

## Discussion

Discussion The profileInfo dictionary requires the following keys: ProfileIDs, which must be a subset of the ProfileIDs you registered the device with, or kColorSyncDeviceDefaultProfileID for setting a custom default profile. It requires the following values: The CFURLRef of the profile to set as a custom profile. It may also include the following optional keys: kColorSyncProfileHostScope: The host scope of the profile; one of kCFPreferencesCurrentHost or kCFPreferencesAnyHost. If you don’t specify it, the framework assumes kCFPreferencesCurrentHost. kColorSyncProfileUserScope: The user scope of the profile; one of kCFPreferencesCurrentUser or kCFPreferencesAnyUser. If you don’t specify it, the framework assumes kCFPreferencesCurrentUser. note: Profile scope for custom profiles cannot exceed the scope of the factory profiles. note: There is only one host scope and user scope per dictionary (that is, per call). note: Pass kCFNull in lieu of the profile URL to unset the custom profile and reset the current profile to the factory profile.

## See Also

### Registering and enumerating devices

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