MDM AppConfig: Configuration Plist Structure Discrepancy (Top-Level 'configuration' Key)

I'm currently implementing a managed app using the new AppConfig specification. I referred to Apple's official documentation: Specifying and decoding a configuration.

Based on the example provided in the "Publish your configuration specification" section, I structured my application configuration plist like this:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" 
    "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>configuration</key>
    <dict>
        <key>account</key>
        <dict>
            <key>username</key>
            <string>test user</string>
            <key>password</key>
            <string>test 123</string>
        </dict>
        <key>domain</key>
        <string>test example.com</string>
    </dict>
</dict>
</plist>

When I deployed this configuration via my MDM server, the server reported valid for the activation, configuration and asset (which is the plist), but the configuration did not reflect or apply within my app. My app was unable to retrieve these settings.

After some troubleshooting, I found that removing the top-level <key>configuration</key> wrapper resolved the issue. The following plist structure successfully pushed the configuration to my app:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" 
    "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>account</key>
    <dict>
        <key>username</key>
        <string>test user</string>
        <key>password</key>
        <string>test 123</string>
    </dict>
    <key>domain</key>
    <string>test example.com</string>
</dict>
</plist>

My question is:

Is the inclusion of the <key>configuration</key> wrapper (as shown in the Apple documentation example) incorrect for the current AppConfig implementation? Or is this structure intended for a future release (e.g., iOS 26 or beyond) and the documentation implicitly refers to it, causing confusion for current implementation?

Any clarification would be greatly appreciated!

Thank you!

Answered by Device Management Engineer in 847444022

The example property list in the documentation is incorrect. The <key>configuration</key> dictionary is not necessary for the example. Thank you for pointing this out! I've started the process to get the documentation corrected.

Accepted Answer

The example property list in the documentation is incorrect. The <key>configuration</key> dictionary is not necessary for the example. Thank you for pointing this out! I've started the process to get the documentation corrected.

Noted with thanks!

MDM AppConfig: Configuration Plist Structure Discrepancy (Top-Level 'configuration' Key)
 
 
Q