I have enrolled a macbook through ADE to Apple School Manager and register it to the MDM service. Upon sending the initial DeclarativeManagement payload, the device return the client capabilities as below:
"supported-versions": [
"1.0.0"
],
"supported-payloads": {
"declarations": {
"activations": [
"com.apple.activation.simple"
],
"assets": [
"com.apple.asset.credential.acme",
"com.apple.asset.credential.certificate",
"com.apple.asset.credential.identity",
"com.apple.asset.credential.scep",
"com.apple.asset.credential.userpassword",
"com.apple.asset.data",
"com.apple.asset.useridentity"
],
"configurations": [
"com.apple.configuration.account.caldav",
"com.apple.configuration.account.carddav",
"com.apple.configuration.account.exchange",
"com.apple.configuration.account.google",
"com.apple.configuration.account.ldap",
"com.apple.configuration.account.mail",
"com.apple.configuration.account.subscribed-calendar",
"com.apple.configuration.legacy",
"com.apple.configuration.legacy.interactive",
"com.apple.configuration.management.status-subscriptions",
"com.apple.configuration.management.test",
"com.apple.configuration.math.settings",
"com.apple.configuration.passcode.settings",
"com.apple.configuration.safari.extensions.settings",
"com.apple.configuration.screensharing.connection",
"com.apple.configuration.screensharing.connection.group",
"com.apple.configuration.security.certificate",
"com.apple.configuration.security.identity",
"com.apple.configuration.security.passkey.attestation"
],
"management": [
"com.apple.management.organization-info",
"com.apple.management.properties",
"com.apple.management.server-capabilities"
]
},
"status-items": [
"account.list.caldav",
"account.list.carddav",
"account.list.exchange",
"account.list.google",
"account.list.ldap",
"account.list.mail.incoming",
"account.list.mail.outgoing",
"account.list.subscribed-calendar",
"device.identifier.serial-number",
"device.identifier.udid",
"device.model.family",
"device.model.identifier",
"device.model.marketing-name",
"device.model.number",
"device.operating-system.build-version",
"device.operating-system.family",
"device.operating-system.marketing-name",
"device.operating-system.supplemental.build-version",
"device.operating-system.supplemental.extra-version",
"device.operating-system.version",
"management.client-capabilities",
"management.declarations",
"screensharing.connection.group.unresolved-connection",
"security.certificate.list",
"test.array-value",
"test.boolean-value",
"test.dictionary-value",
"test.error-value",
"test.integer-value",
"test.real-value",
"test.string-value"
]
},
"supported-features": {
}
}
},
com.apple.configuration.softwareupdate.enforcement.specific couldn't be found.
The macbook current OS version is 15.5 and it's supervised so looking at this, I assume it should include the Software Update:Enforcement:Specific capability?
https://github.com/apple/device-management/blob/release/declarative/declarations/configurations/softwareupdate.enforcement.specific.yaml
When I tried sending the payload to the device anyway the valid status is unknown
Device Management
RSS for tagAllow administrators to securely and remotely configure enrolled devices using Device Management.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
I am a developer working on iOS apps.
I would like to report an issue occurring in iOS 26 beta 2.
Our company has Enterprise account, and we are developing apps.
When we distribute these apps, and install them on a device running iOS 26 beta2, apps install successfully, but apps crashed immediately after being launched.
MDM Install Application
When I install the app via Xcode and trust it, apps will run.
Launchd job spawn failed
This issue does not occur on versions prior to iOS 26. I would like to know if this is a problem that will be resolved in future updates, or if it is a policy change.
Subject: Questions Regarding Signing Certificates for MDM Configuration Profiles
Dear all,
I hope this message finds you well. I have some questions regarding the signing certificates used for MDM configuration profiles.
Currently, our company uses an SSL certificate to sign MDM configuration profiles. However, with the announcement that the validity period of SSL certificates will gradually be shortened starting in 2026, we are considering alternative options for signing certificates.
Through our internal testing and investigation, we have found examples of the following certificate chains being used:
・Developer ID - G1 (Expiring 02/01/2027 22:12:15 UTC) + Developer ID Application certificate chain
・Apple Root CA + Apple Worldwide Developer Relations Intermediate Certificate + MDM CSR certificate chain
We would appreciate any insights or experiences you can share regarding the following points:
Apple Support previously advised that "certificates issued by public certificate authorities (CAs) trusted by Apple" are recommended. The certificates listed at https://www.apple.com/certificateauthority/ are typically preinstalled on Apple devices. Are these considered "trusted public CAs" by Apple in this context?
Is it acceptable in practice to use a certificate obtained from the “Certificates, Identifiers & Profiles” section on developer.apple.com for signing MDM configuration profiles? We would be grateful to hear about any real-world experiences.
If the answer to question 2 is yes, which certificate type within “Certificates, Identifiers & Profiles” would be most appropriate for signing configuration profiles?
If using certificates from question 2 is not suitable, are there alternative certificate types (other than SSL) that are valid for longer periods (e.g., more than one year) and appropriate for signing MDM configuration profiles?
Apple's official documents do not seem to clearly specify what type of certificate should be used to sign MDM configuration profiles. If you know of any helpful documents or resources related to this topic, we would greatly appreciate it if you could share them.
Thank you very much for your time and support. We would truly appreciate any advice or guidance you can provide.
Summary:
When applying a configuration profile that uses allowListedAppBundleIDs to permit a defined set of apps, essential Apple Watch apps are unexpectedly removed from the paired Watch — even though their associated iPhone bundle IDs are explicitly included.
This issue occurs with a minimal profile, and has been consistently reproducible on the latest versions of iOS and watchOS.
Impact:
This behavior severely limits the use of Apple Watch in managed environments (e.g., education, family management, accessibility contexts), where allowlisting is a key control mechanism. It also suggests either:
Undocumented internal dependencies between iOS and watchOS apps, or
A possible regression in how allowlists interact with Watch integration.
Steps to Reproduce:
Create a configuration profile with a Restrictions payload containing only the allowListedAppBundleIDs key.
Allow a broad list of essential system apps, including all known Apple Watch-related bundle IDs:
com.apple.NanoAlarm
com.apple.NanoNowPlaying
com.apple.NanoOxygenSaturation
com.apple.NanoRegistry
com.apple.NanoRemote
com.apple.NanoSleep
com.apple.NanoStopwatch
com.apple.NanoWorldClock
(All the bundles can be seen in the Attached profile)
Install the profile on a supervised or non-supervised iPhone paired with an Apple Watch.
Restart both devices.
Observe that several core Watch apps (e.g. Heart Rate, Activity, Workout) are missing from the Watch.
Expected Behavior:
All apps explicitly included in the allowlist should function normally. System apps — especially those tied to hardware like Apple Watch — should remain accessible unless explicitly excluded.
Actual Behavior:
Multiple Apple Watch system apps are removed or hidden, despite their iPhone bundle IDs being listed in the allowlist.
Test Environment:
iPhone running iOS 18
Apple Watch running watchOS 11
Profile includes only the allowListedAppBundleIDs key
Issue confirmed on fresh devices with no third-party apps
Request for Apple Engineering:
Please confirm whether additional internal or undocumented bundle IDs are required to preserve Apple Watch functionality when allowlisting apps.
If this behavior is unintended, please treat this as a regression or bug affecting key system components.
If intentional, please provide formal documentation listing all required bundle IDs for preserving Watch support with allowlisting enabled.
Attachment:
.mobileconfig profile demonstrating the issue (clean, minimal, reproducible)
Attached test profile = https://drive.google.com/file/d/12YknGWuo1bDG-bmzPi0T41H6uHrhDmdR/view?usp=sharing
Topic:
Business & Education
SubTopic:
Device Management
Tags:
Managed Settings
Apple Watch
Device Management
We have applications RME and RMEUI, which are added under FileProviders section. Looking for MDM profile that can lock these entries so that users cannot disable them. Currently we are using JAMF Pro MDM to control our applications.
In Sequoia OS -> Open System Preferences -> General -> Login Items & Extensions -> Under Extensions section -> File Providers
In Tahoe OS -> Open System Preferences -> General -> Login Items & Extensions -> Under By Category/App section -> File Providers
(In the screen shot you can find RME entry)
When I try to sign in Managed Apple ID in supervised device there appears a prompt stating that "Apple ID" is a work account.This account must be signed in as a work account on this device.When I click continue it takes to VPN and device management tab where MDM profile already exists.
Note:The managed Apple ID has a ICloud subscription for it.
When I remove the subscription for the Apple ID and try to sign in, it works.
Kindly help on this or advise on any additional steps required to enable sign in for managed Apple ID in this scenario
Topic:
Business & Education
SubTopic:
Device Management
Tags:
Apple Business Manager
Device Management
Hello, this may not be the correct place to ask this question so I apologize in advance if this is the case.
We are currently having some issues when attempting to restore device back ups via iCloud that where previously enrolled to our MDM solution, as upon the restore no app data seems to be persisted over (we have tested restoring the backup on the same device and we have been able to have data persist between wipes)
On the initial device we have ensured that the restrictions
allowCloudKeychainSync
allowManagedAppsCloudSync
are set to true, and can see that the initial devices back up has the app data backed up, yet despite this data is not persisted when restoring from back up on a new device.
On the device where the back up was initially done when restoring the applications are applied but indicated that they must be re-installed via our management console, once the app has been uninstalled and reinstalled the old data does show up, when applied to the new device our mdm solution pushes down the app.managed config but the device treats it as a new install.
Could this possibly be due to us using Device Licensing when assigning apps? Or is it due to the intial device only performing a token update request when restoring and the new device going through the entire checkin proccess?
Both devices are provisioned via DEP, and applications where assigned initially via VPP
Any insight on this would be useful
(For reference this is an MDM solution of our own making so we are attempting to sus out if there is a configuration issue we could be overlooking).
When an iOS 26.0 device is prepared in supervised mode, wifi connection screen is showing when the device is restarted. This wifi connect appears always on restart.
I have tried using Apple Configurator GUI and Command line (cfgutil) command. In both cases, The behavior Wifi screen is showing up on restart for supervised mode.
Cfgutil command:
cfgutil -C {Certificate} -K {Key} prepare --supervised --name {NAME} --host-cert {Certificate} --skip-all
Note: In non-supervised mode and other iOS, the wifi screen is not showing.
Apple Configurator version: 2.18
iOS version: 26.0
Device model: iPhone 11 and above.
Anyone else facing this issue? Any help is super appreciated.
Hello world! First post here.
Developing my first app. It primarily targets supervised and MDM managed devices. A few questions:
For supervised devices, is serial number available? I want to get the number and use it for app auto activation
Is MDM required for supervised devices? Or, as long as a device is enrolled through Apple Business Manager?
Which capacity shall I request for the app?
Thanks so much!
Hello !
Currently, we have customers who use about 5,000 devices.
In the case of ios26, the phone number is not acquired overall, and 18.x, 17.x, and 16.x are all acquired in half and not acquired in half.
https://developer.apple.com/documentation/devicemanagement/deviceinformationcommand/command-data.dictionary/queries-data.dictionary
It seems that it is the right behavior not to acquire it on the specification sheet.
However, I wonder when it became impossible to acquire. (There are devices that can be acquired and devices that can't be acquired in the same os version.)
Will the devices that are being acquired be blocked someday?
When it was developed in 2019, it was in a state that could be acquired in full.
I would also like to ask if there is an alternative way to get your phone number.
Thank you.
Topic:
Business & Education
SubTopic:
Device Management
Tags:
Apple Business Manager
Device Management
📱 [iOS 26.1 beta 2] allowCamera restriction not working properly on both supervised and BYOD devices
Details:
Device: iPhone 12 Pro Max
System: iOS 26.1 beta 2
Issue Description:
When testing MDM device restriction capabilities on iOS 26.1 beta 2, I found that the allowCamera restriction does not work as expected.
Observed Behavior:
• On a BYOD device:
When allowCamera is set to false, the Camera and FaceTime apps disappear from the Home Screen, as expected.
However, third-party apps (such as WeChat) can still access the camera and take photos.
• On earlier versions (e.g. iOS 26.0.1):
Setting allowCamera to false correctly blocks all apps, including third-party apps, from accessing the camera.
Initially, I assumed Apple might have changed this restriction behavior so that allowCamera only applies to supervised devices.
However, after testing on supervised devices, I found that even there, when allowCamera is set to false, the Camera and FaceTime apps are hidden, but third-party apps can still use the camera.
This indicates that the restriction is not functioning correctly in iOS 26.1 beta 2.
Expectation:
When allowCamera is set to false, all camera access — including third-party apps — should be blocked.
Request:
Could someone from Apple’s development or MDM team confirm whether this is an expected behavior change or a potential bug in iOS 26.1 beta 2?
Topic:
Business & Education
SubTopic:
Device Management
In iOS 26.1 beta 4, under MDM restrictions that disable the camera via a configuration profile, the Camera and FaceTime apps are hidden as expected. However, other third-party apps can still access and use the camera function normally. This is unreasonable.
Hi, I found In-App purchase feature is restricted even with User-based VPP.
I understand Device-based VPP does not accept In-App purchase, however User-based VPP accept In-App purchase. (It works on iOS 15 device actually.)
When I tried subscribe ChatGPT on iOS 26 device using User-based VPP, an error dialog is shown that explains In-App purchase is not allowed.
sysdiagnose shows logs belog:
情報 2025-10-26 23:58:22.350841 -0700 storekitd [Client] (ChatGPT) Initializing client
デフォルト 2025-10-26 23:58:22.353982 -0700 storekitd [Client] (ChatGPT) Initialized with server Production bundle ID com.openai.chat and request bundle ID com.openai.chat]
デフォルト 2025-10-26 23:58:22.354020 -0700 storekitd [CanMakePayments] In-app purchase disabled because app com.openai.chat has MID based SINF
In iOS 15 device, no storekitd logs are found and appstored and several processes seem to handle In-App purchase.
Does In-App purchase no longer work with User-based VPP?
Thank you.
Hello Apple Developer Community,
I am implementing the "Return to Service" feature with app preservation in our MDM solution (iOS 26+).
My goal is to use the EraseDeviceCommand to securely erase user data while preserving managed apps, and then have the device automatically re-enroll without user interaction.
What I am doing:
The device is supervised and successfully enrolled in Automated Device Enrollment (ADE).
The device has generated and escrowed a bootstrap token to our MDM server (SetBootstrapToken received).
I am sending the EraseDeviceCommand to the device via MDM with the necessary parameters for Return to Service with app preservation.
The command payload includes:
Enabled: true
The previously escrowed BootstrapToken (as Base64 data).
WiFiProfileData (as Base64 data) to ensure connectivity post-erase.
Example Payload Structure (Simplified):
<key>ReturnToService</key>
<dict>
<key>Enabled</key>
<true/>
<key>BootstrapToken</key>
<data>YOUR_BASE64_TOKEN</data>
<key>WiFiProfileData</key>
<data>YOUR_BASE64_WIFI_PROFILE</data>
</dict>
The observed behavior:
The erase command is successful.
The device performs the secure user data erase.
Crucially, the managed applications are preserved and automatically installed again after the reboot (confirming app preservation is working).
The device connects to the Wi-Fi network successfully.
The issue:
I am not seeing the GetBootstrapToken request from the device hit our MDM server's check-in URL during the post-erase setup assistant phase. The re-enrollment seems to complete, but this specific request is missing from our server logs.
My questions:
Is the GetBootstrapToken request an explicit check-in message type, or is it an implicit part of the general CheckIn process during ADE re-enrollment when the token is used?
If the device successfully re-enrolls and preserves apps, is the explicit GetBootstrapToken request still expected? Or does the token included in the EraseDeviceCommand payload satisfy all authentication needs for this workflow?
What specific conditions or capabilities on the MDM server side might prevent the device from sending this specific request, even if the overall process succeeds?
Any insights from Apple engineers or other developers who have successfully implemented this flow would be greatly appreciated.
Thank you!
Topic:
Business & Education
SubTopic:
Device Management
I recently reviewed the device management restrictions page of the developer docs (https://developer.apple.com/documentation/devicemanagement/restrictions) and noticed that several items are now marked "In a future release, this restriction will begin requiring supervision."
Some of these changes are likely to have a dramatic impact on our app and business! So my question is threefold:
a) where can I find out or request more information about the planned changes (e.g. timeline would be especially helpful)?
b) why are these changes being implemented at all?
c) to whom / where can I protest these changes (aside from this forum and feedback assistant)?
For additional security we would like to avoid keeping generated certificates (their private keys) on our server after installing them on a device, but still be able to reference them in later installed configuration profiles via MDM. However, it seems that for a configuration profile's payload to use a certificate (e.g. VPN payload), the certificate payload must be present in the same profile.
Are we missing anything, perhaps it's already possible somehow?
Ideal workflow for us would be:
our MDM server generates a certificate (private+public keys) for a given device
our MDM server sends this certificate to the device as configuration profile and saves PayloadUUID of the certificate's payload
our MDM server deletes the generated private key from its storage. At this point the private key is present only on the device.
at some point in the future our MDM server sends a configuration profile that references the certificate from step 2 via the saved PayloadUUID (e.g. using key PayloadCertificateUUID in a VPN payload)
Current result: device responds to MDM server with error "The profile “VPN” could not be installed. Certificates needed for the VPN service “VPN” are invalid."
Desired result: device is able to find the previously installed certificate via its PayloadUUID. Alternatively, it could be certificate fingerprint or something similar.
One more alternative could be to replace steps 1-3 by an app on the device that obtains a certificate (in any way), installs it to device as a configuration profile, passes the certificate's PayloadUUID to our MDM server and then doing step 4.
Hi everyone,
I submitted this feature request through Apple’s Feedback Assistant and wanted to share it here, because many families run into the same issue and Apple prioritizes features based on the number of reports they receive.
Current limitation:
Screen Time only allows one single Downtime period per day for child accounts.
For families with separate school hours and bedtime, this is very impractical.
My real-world use case:
• Downtime 1: 08:00–13:00 (school)
• Downtime 2: 20:00–06:00 (bedtime)
Both serve completely different purposes, but are not possible to combine with the current system.
My suggestions to Apple:
Support multiple Downtime periods per day for child accounts.
Allow custom exceptions per Downtime block (e.g., allow Phone app).
Provide more flexibility overall for families using Screen Time.
If you would benefit from this too, it would be great if you could submit the same request via the Feedback app – the more reports Apple receives, the higher the chance for implementation.
My Feedback ID: FB21265678
Thank you! 🙏
Hallo zusammen,
ich habe über die Feedback-App einen Vorschlag an Apple eingereicht und wollte ihn hier teilen, weil viele Familien dasselbe Problem haben und Apple mehr Rückmeldungen braucht, um das Thema zu priorisieren.
Aktuelles Problem:
In Bildschirmzeit kann für Kinder aktuell nur eine einzige Auszeit pro Tag eingerichtet werden.
Für Familien mit getrennten Schul- und Schlafenszeiten ist das extrem unpraktisch.
Mein Anwendungsfall:
• Auszeit 1: 08:00–13:00 (Schule)
• Auszeit 2: 20:00–06:00 (Schlafenszeit)
Beides erfüllt unterschiedliche Zwecke, ist aber nicht kombinierbar.
Mein Vorschlag an Apple:
Mehrere Auszeiten pro Tag für Kinderaccounts.
Pro Auszeit eigene Ausnahmen festlegen (z. B. Telefon erlauben).
Allgemein mehr Flexibilität im Screen-Time-System für Familien.
Wenn ihr das ebenfalls hilfreich findet, wäre es super, wenn ihr es auch über die Feedback-App meldet – je mehr, desto besser.
Feedback-ID meines Vorschlags: FB21265678
Danke euch! 🙏
Topic:
Business & Education
SubTopic:
Device Management
Tags:
Device Management
Family Controls
Screen Time
Hi, everyone! Is there any way to change ACL of existing Private key in system keychain using MDM?
We would like to add the binary or .app to access list of the key.
I tried to send script via MDM which imported/exported our certificate with private key with required ACL.
But can we change it without import/export?
Issue
Using the DeviceInformationCommand API, the following device information can no longer be retrieved on iOS/iPadOS 26 and later.
IMEI
ICCID
PhoneNumber
This issue does not occur on devices running iOS/iPadOS 18.x or earlier. We would appreciate it if you could advise us on a solution to enable the retrieval of this information.
Request XML
<?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>CommandUUID</key>
<string><!-- Here is CommandUUID --></string>
<key>Command</key>
<dict>
<key>RequestType</key>
<string>DeviceInformation</string>
<key>Queries</key>
<array>
<string>IMEI</string>
<string>ICCID</string>
<string>PhoneNumber</string>
</array>
</dict>
</dict>
</plist>
We are having issues working with bypass codes the server creates when initiating Activation Lock through MDM.
We are able to use the device-generated bypass codes without issue.
When using the end point to request activation lock as specified in https://developer.apple.com/documentation/devicemanagement/creating-and-using-bypass-codes/ we get a 200 response. But when using the endpoint to bypass the activation lock, we get a 404 response. If we try to manually input the activation lock bypass code, it also does not work.
Both of these methods work with the device-generated bypass codes.
Just to clarify when testing the server generated codes, we ensured that we did not test the device-generated codes.
All of this was tested on iOS devices.
Created feedback ticket FB21365819 with device specific details.