# Custom configuration profile reference for iOS devices

Configuration profiles are XML files that enable IT admins to customize configurations of managed devices, enforcing specific policies, settings or restrictions. This document serves as a repository of custom configuration profile references that can be deployed to iOS devices for various use cases. With Hexnode UEM’s [Deploy Custom Configuration](https://www.hexnode.com/mobile-device-management/help/how-to-deploy-custom-configuration-profiles-to-ios-devices/) policy, IT admins can deploy these configuration profiles to iOS devices remotely.

How to create and deploy configuration profiles?
------------------------------------------------

1. **Determine configuration requirement** – Identify the specific restrictions, policies or settings you want to enforce on the iOS devices.
2. **Select a method of creation** – Configuration profiles can be created using profile creator tools such as Profile Creator, Apple Configurator, iMazing Profile Editor etc. You can also create them using text editors.
3. **Configure the profile settings** – Use the above-mentioned tools to create the required configurations. You may also refer to these [payloads](https://developer.apple.com/documentation/devicemanagement/profile-specific_payload_keys).
4. **Test the configuration profile** – Test the profile manually on iOS devices.
5. **Deploy the configuration profile** – Once the profile is tested and validated, follow these steps to execute it in bulk using Hexnode UEM: 
    1. Login to the Hexnode UEM portal.
    2. Navigate to **Policies** > **iOS** > **Deploy Custom Configuration** and click **Configure**.
    3. Click **Choose File** and upload the configuration profile.
    4. Click **OK** and associate the policy with the required devices/device groups.
    
    Non encrypted files of the following extensions – **.mobileconfig**, **.xml**, and **.plist** can be deployed via Hexnode UEM.

Custom configuration profiles
-----------------------------

Serial NoConfiguration profile1[Set passcode requirements](https://www.hexnode.com/mobile-device-management/help/enforce-passcode-requirements-on-ios-devices-using-a-configuration-profile/)2[Configure Global HTTP Proxy](https://www.hexnode.com/mobile-device-management/help/deploy-custom-configuration-profile-to-configure-global-http-proxy-on-ios-devices/)3[Allowlist AirPlay](https://www.hexnode.com/mobile-device-management/help/configuration-profile-for-allowlisting-airplay-destinations-on-ios/)4[Single app lockdown](https://www.hexnode.com/mobile-device-management/help/configuration-profile-for-ios-app-lock-mode/)5[Configure Email](https://www.hexnode.com/mobile-device-management/help/configuration-profile-to-configure-ios-email-settings/)6[Web content filter](https://www.hexnode.com/mobile-device-management/help/web-content-filter-configuration-profile-settings-for-ios/)7[Single app mode settings](https://www.hexnode.com/mobile-device-management/help/configuration-profile-to-set-up-single-app-mode-on-ios-devices/)8[Disable erase all content and settings](https://www.hexnode.com/mobile-device-management/help/configuration-profile-to-disable-erase-all-content-and-settings-option-on-ios-devices/)9[Subscribed Calendars](https://www.hexnode.com/mobile-device-management/help/configuration-profile-for-subscribed-calendars-settings-on-ios/)10[Add CardDAV accounts](https://www.hexnode.com/mobile-device-management/help/configuration-profile-to-add-carddav-accounts-to-ios-devices/)11[Disallow account changes](https://www.hexnode.com/mobile-device-management/help/configuration-profile-to-disallow-account-changes-on-ios/)12[Google Accounts settings](https://www.hexnode.com/mobile-device-management/help/configuration-profile-to-set-up-google-accounts-settings-for-ios/)13[Managed Open In settings](https://www.hexnode.com/mobile-device-management/help/set-up-apples-managed-open-in-settings-using-configuration-profiles/)14[Prevent app uninstallation](https://www.hexnode.com/mobile-device-management/help/configuration-profile-to-prevent-app-uninstallation-on-ios-devices/)15[Disable Auto-Correction](https://www.hexnode.com/mobile-device-management/help/configuration-profile-to-disable-auto-correction-on-ios-devices/) Note:- While defining a profile, ensure it contains all the mandatory payload keys, including **PayloadUUID**, **PayloadType**, **PayloadVersion** and **PayloadIdentifier**, etc.
- Binary .plist files cannot be used to deploy custom configuration profiles. You can convert the binary .plist files to normal .plist files using the terminal command: **plutil -convert binary1 <name of the .plist file>**.
- Generic .plist files alone can’t be used to deploy custom configuration profiles. It is recommended to choose an appropriate payload, add [profile-specific payload keys](https://developer.apple.com/documentation/devicemanagement/profile-specific_payload_keys) to the configuration profile, and verify them before uploading it.
- While distributing the configuration profiles to the devices, make sure that no conflicting configurations are pushed.
- You can use [wildcards](https://www.hexnode.com/mobile-device-management/help/how-to-pass-device-and-user-information-using-the-wildcards-supported-by-hexnode-mdm/#deploy-custom-configuration-on-ios-and-mac) while deploying custom configuration profiles.