Platform compatibility
| macOS | Windows | Linux | iOS / iPadOS | Android |
|---|---|---|---|---|
| ✅ | ✅ | ✅ | ✅ |
How to set it up
Upload your configuration file
Upload your configuration file. The file is delivered to devices via MDM in the same way as any other control.
Give the control a descriptive name
Give the control a descriptive name so it is easy to identify later.
Modifying or removing the control
To change the configuration, re-upload the config file with updated settings. Disabling the control stops enforcement but does not remove existing configurations from devices.How it works
Each platform accepts its native configuration format:| Platform | Format | Description |
|---|---|---|
| macOS | .mobileconfig or .json | Apple Configuration Profile (XML-based) or JSON |
| iOS / iPadOS | .mobileconfig | Apple Configuration Profile (XML-based) |
| Windows | .xml | Windows MDM custom policy (SyncML format) |
| Android | .json | Android Enterprise managed configuration |
macOS
macOS configuration profiles (.mobileconfig) are XML files, signed or unsigned, delivered as MDM payloads. macOS also supports .json for certain configuration payloads.
To create profiles, the recommended tools are:
- iMazing Profile Editor — free, purpose-built for creating and editing
.mobileconfigfiles - Apple Configurator — available on the Mac App Store
iOS / iPadOS
iOS and iPadOS use the same.mobileconfig format as macOS.
Windows
Windows custom files use the SyncML format, which maps to Windows MDM CSPs (Configuration Service Providers). This allows you to configure any policy exposed by the Windows MDM stack that is not covered by Primo’s built-in controls.Android
Android custom files use JSON to deliver managed configurations to Android Enterprise devices. This is typically used to configure enterprise applications that support managed app configuration.Troubleshooting
The file upload fails- Confirm the file matches the expected format for the selected OS.
- Check that the file is not corrupted or empty.
- macOS profiles must use valid XML — validate the file with
plutil -lint profile.mobileconfig.