I found a new Payload attribute LegacyAppConfigAssetReference in AppManaged introduced in iOs 18.4 beta.
So I tried it, however no configuration is discoverted in the installed app.
--
configuration
{
"Identifier": "8c2af0b6-5ae0-5927-a1cd-bab5e4148bb8",
"Type": "com.apple.configuration.app.managed",
"Payload": {
"InstallBehavior": {
"Install": "Required",
"License": {
"Assignment": "Device",
"VPPType": "Device"
}
},
"AppStoreID": "535886823",
"LegacyAppConfigAssetReference": "ac35558f-aefc-5faf-8f64-1faaff993b96"
},
"ServerToken": "2abdc89492d89ca1a213ca61318ae0651c2b8de660c2847a44a3fb8ad9d9a8ad"
}
--
declaration/asset/ac35558f-aefc-5faf-8f64-1faaff993b96
{
"Identifier": "ac35558f-aefc-5faf-8f64-1faaff993b96",
"Type": "com.apple.asset.data",
"Payload": {
"Reference": {
"DataURL": "https://i3-oreore-ios-mdm.azurewebsites.net/asset_files/eyJpZCI6IjNkOTg2YWVjNzQ1MWJiYWZlZjJmZGU1NmZmYmJlYjdkLnBsaXN0Iiwic3RvcmFnZSI6InN0b3JlIiwibWV0YWRhdGEiOnsiZmlsZW5hbWUiOiJFbmNvZGVkQ2hyb21lUG9saWN5RXhhbXBsZS5wbGlzdCIsInNpemUiOjMyMjUsIm1pbWVfdHlwZSI6ImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSJ9fQ",
"ContentType": "application/plist"
}
},
"ServerToken": "7433f7c0c991a1943636ff7bd8949e88738c684ecbde347ac8a9c5b5c19dda14"
}
--
And the data type of the managed app configuration is application/plist
http https://i3-oreore-ios-mdm.azurewebsites.net/asset_files/eyJpZCI6IjNkOTg2YWVjNzQ1MWJiYWZlZjJmZGU1NmZmYmJlYjdkLnBsaXN0Iiwic3RvcmFnZSI6InN0b3JlIiwibWV0YWRhdGEiOnsiZmlsZW5hbWUiOiJFbmNvZGVkQ2hyb21lUG9saWN5RXhhbXBsZS5wbGlzdCIsInNpemUiOjMyMjUsIm1pbWVfdHlwZSI6ImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSJ9fQ
HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: max-age=31536000
Content-Length: 3225
Content-Type: application/plist
Date: Tue, 18 Mar 2025 22:59:40 GMT
X-Content-Type-Options: nosniff
<?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>EncodedChromePolicy</key>
<string>PD94bWwgdmVyc2lvbj0iMS4wIiA/PjwhRE9DVFlQRSBwbGlzdCAgUFVCTElDICctLy9BcHBsZS8vRFREIFBMSVNUIDEuMC8vRU4nICAnaHR0cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3QtMS4wLmR0ZCc+PHBsaXN0IHZlcnNpb249IjEuMCI+PGRpY3Q+PGtleT5BdXRvRmlsbEVuYWJsZWQ8L2tleT48ZmFsc2UvPjxrZXk+Q29va2llc0FsbG93ZWRGb3JVcmxzPC9rZXk+PGFycmF5PjxzdHJpbmc+aHR0cDovL3d3dy5leGFtcGxlLmNvbTwvc3RyaW5nPjxzdHJpbmc+WyouXWV4YW1wbGUuZWR1PC9zdHJpbmc+PC9hcnJheT48a2V5PkNvb2tpZXNCbG9ja2VkRm9yVXJsczwva2V5PjxhcnJheT48c3RyaW5nPmh0dHA6Ly93d3cuZXhhbXBsZS5jb208L3N0cmluZz48c3RyaW5nPlsqLl1leGFtcGxlLmVkdTwvc3RyaW5nPjwvYXJyYXk+PGtleT5Db29raWVzU2Vzc2lvbk9ubHlGb3JVcmxzPC9rZXk+PGFycmF5PjxzdHJpbmc+aHR0cDovL3d3dy5leGFtcGxlLmNvbTwvc3RyaW5nPjxzdHJpbmc+WyouXWV4YW1wbGUuZWR1PC9zdHJpbmc+PC9hcnJheT48a2V5PkRlZmF1bHRDb29raWVzU2V0dGluZzwva2V5PjxpbnRlZ2VyPjE8L2ludGVnZXI+PGtleT5EZWZhdWx0UG9wdXBzU2V0dGluZzwva2V5PjxpbnRlZ2VyPjE8L2ludGVnZXI+PGtleT5EZWZhdWx0U2VhcmNoUHJvdmlkZXJFbmFibGVkPC9rZXk+PHRydWUvPjxrZXk+RGVmYXVsdFNlYXJjaFByb3ZpZGVyS2V5d29yZDwva2V5PjxzdHJpbmc+bWlzPC9zdHJpbmc+PGtleT5EZWZhdWx0U2VhcmNoUHJvdmlkZXJOYW1lPC9rZXk+PHN0cmluZz5NeSBJbnRyYW5ldCBTZWFyY2g8L3N0cmluZz48a2V5PkRlZmF1bHRTZWFyY2hQcm92aWRlclNlYXJjaFVSTDwva2V5PjxzdHJpbmc+aHR0cDovL3NlYXJjaC5teS5jb21wYW55L3NlYXJjaD9xPXtzZWFyY2hUZXJtc308L3N0cmluZz48a2V5Pk1hbmFnZWRCb29rbWFya3M8L2tleT48YXJyYXk+PGRpY3Q+PGtleT5uYW1lPC9rZXk+PHN0cmluZz5Hb29nbGU8L3N0cmluZz48a2V5PnVybDwva2V5PjxzdHJpbmc+Z29vZ2xlLmNvbTwvc3RyaW5nPjwvZGljdD48ZGljdD48a2V5Pm5hbWU8L2tleT48c3RyaW5nPllvdXR1YmU8L3N0cmluZz48a2V5PnVybDwva2V5PjxzdHJpbmc+eW91dHViZS5jb208L3N0cmluZz48L2RpY3Q+PC9hcnJheT48a2V5PlBhc3N3b3JkTWFuYWdlckVuYWJsZWQ8L2tleT48dHJ1ZS8+PGtleT5Qb3B1cHNBbGxvd2VkRm9yVXJsczwva2V5PjxhcnJheT48c3RyaW5nPmh0dHA6Ly93d3cuZXhhbXBsZS5jb208L3N0cmluZz48c3RyaW5nPlsqLl1leGFtcGxlLmVkdTwvc3RyaW5nPjwvYXJyYXk+PGtleT5Qb3B1cHNCbG9ja2VkRm9yVXJsczwva2V5PjxhcnJheT48c3RyaW5nPmh0dHA6Ly93d3cuZXhhbXBsZS5jb208L3N0cmluZz48c3RyaW5nPlsqLl1leGFtcGxlLmVkdTwvc3RyaW5nPjwvYXJyYXk+PGtleT5Qcm94eUJ5cGFzc0xpc3Q8L2tleT48c3RyaW5nPmh0dHA6Ly93d3cuZXhhbXBsZTEuY29tLGh0dHA6Ly93d3cuZXhhbXBsZTIuY29tLGh0dHA6Ly9pbnRlcm5hbHNpdGUvPC9zdHJpbmc+PGtleT5Qcm94eU1vZGU8L2tleT48c3RyaW5nPmRpcmVjdDwvc3RyaW5nPjxrZXk+UHJveHlQYWNVcmw8L2tleT48c3RyaW5nPmh0dHA6Ly9pbnRlcm5hbC5zaXRlL2V4YW1wbGUucGFjPC9zdHJpbmc+PGtleT5Qcm94eVNlcnZlcjwva2V5PjxzdHJpbmc+MTIzLjEyMy4xMjMuMTIzOjgwODA8L3N0cmluZz48a2V5PlNlYXJjaFN1Z2dlc3RFbmFibGVkPC9rZXk+PHRydWUvPjxrZXk+VHJhbnNsYXRlRW5hYmxlZDwva2V5Pjx0cnVlLz48a2V5PlVSTEJsYWNrbGlzdDwva2V5PjxhcnJheT48c3RyaW5nPmV4YW1wbGUuY29tPC9zdHJpbmc+PHN0cmluZz5odHRwczovL3NzbC5zZXJ2ZXIuY29tPC9zdHJpbmc+PHN0cmluZz5ob3N0aW5nLmNvbS9iYWRfcGF0aDwvc3RyaW5nPjxzdHJpbmc+aHR0cDovL3NlcnZlcjo4MDgwL3BhdGg8L3N0cmluZz48c3RyaW5nPi5leGFjdC5ob3N0bmFtZS5jb208L3N0cmluZz48L2FycmF5PjxrZXk+VVJMV2hpdGVsaXN0PC9rZXk+PGFycmF5PjxzdHJpbmc+ZXhhbXBsZS5jb208L3N0cmluZz48c3RyaW5nPmh0dHBzOi8vc3NsLnNlcnZlci5jb208L3N0cmluZz48c3RyaW5nPmhvc3RpbmcuY29tL2JhZF9wYXRoPC9zdHJpbmc+PHN0cmluZz5odHRwOi8vc2VydmVyOjgwODAvcGF0aDwvc3RyaW5nPjxzdHJpbmc+LmV4YWN0Lmhvc3RuYW1lLmNvbTwvc3RyaW5nPjwvYXJyYXk+PC9kaWN0PjwvcGxpc3Q+</string>
</dict>
</plist>
Please note that this example plist is the same content as is described here: https://www.chromium.org/administrators/ios-mdm-policy-format/
After applying the declaration, the app GoogleChrome is successfully installed but no managed app configuration seems applied.
MDMAppManagement.plist in the sysdiagnose is like below:
plutil -p logs/MCState/Shared/MDMAppManagement.plist
{
"metadataByBundleID" => {
"com.google.chrome.ios" => {
"Attributes" => {
"Removable" => 0
}
"flags" => 1
"source" => "Declarative Device Management"
"state" => 7
}
"com.microsoft.skype.teams" => {
"Attributes" => {
"Removable" => 0
}
"flags" => 1
"source" => "Declarative Device Management"
"state" => 7
}
}
}
I also tried with our private apps and not applied...
How can we use this feature or check the configuration is applied?
Thank you,
Explore the intersection of business and app development. Discuss topics like device management, education, and resources for aspiring app developers.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
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.
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)?
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
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.
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)
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 upgrading macOS (minor versions and potentially major versions) using a scripted approach:
Install the InstallAssistant package via installer
Trigger OS install via startosinstall
On MDM-managed assets, OS update policies appear to prohibit or interfere with the update flow. The update often fails with startosinstall reporting “Helper tool crashed…” during the “Preparing” phase.
Steps to Reproduce
On an MDM-enrolled Mac with OS update restriction/deferral policies applied, run:
sudo /usr/sbin/installer -pkg /Path/To/InstallAssistant.pkg -target / &&
echo 'MACOS_PASSWORD' | /Applications/Install\ macOS\ Sonoma.app/Contents/Resources/startosinstall
--agreetolicense
--forcequitapps
--stdinpass
--user MACOS_USER
Actual Result
Package installation reports success, but startosinstall fails during preparation with:
Standard Output
installer: Package name is macOS15.7_SoftwareUpdate
installer: Upgrading at base path /
installer: The upgrade was successful.
By using the agreetolicense option, you are agreeing that you have run this tool with the license only option and have read and agreed to the terms.
If you do not agree, press CTRL-C and cancel this process immediately.
Preparing to run macOS Installer...
Preparing: 0.0%
Preparing: 0.1%
...
Preparing: 24.9%
Standard Error
Helper tool crashed...
notes.log
Install.log is also attached.
Questions for Apple / Ask:
We suspect this crash is caused by MDM OS update restrictions/policies.
We need Apple’s recommended method to perform macOS updates (minor + major) when MDM is present, especially in environments where update deferrals/restrictions may be configured.
Hello All,
I come to ask a question that I haven't been able to find the docs. I continue to work on implementing declarative management and while working there is a question/concern I have.
I have noticed that during some destructive testing, if the device is attempting to fetch a configuration and the server responds with a 503 (or any server related error) then the device will wipe all configurations and attempt to reapply them.
Is there any way to prevent this by intercepting status codes or would the only real solution be to force down a temp/test config if the real config can't be fetched from the server?
We are trying the renewal the apple Enterprise program. It asks set of questions after that it shows the below message
"Thank you for your request to renew your membership in the Apple Developer Enterprise Program. We’ll review your submission and get back to you shortly to let you know if we can process the renewal or if another program better serves your organization’s needs."
We have submitted for review for over two months now. During these two months, we have contacted the official customer service multiple times, only to be told to wait for news. Now, with only a few days left, The status hasn't changed, neither approved nor rejected,what should we do?This account is very important to our company. Thank you
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,
I've noticed some unexpected behavior when updating a user's FileVault password.
The set up:
All actions are performed in virtualized macOS 14 and 15.5 guests on a 15.5 Apple Silicon host.
FileVault is enabled.
sjsp is a standard user with a Secure Token.
The Mac is bound to AD, and the domain is reachable.
Reproduction:
systemctl -secureTokenStatus sjsp shows it's ENABLED.
fdesetup remove -user sjsp
fdesetup add -usertoadd sjsp
systemctl -secureTokenStatus sjsp shows it's DISABLED.
Surprisingly, sjsp is still able to unlock FileVault.
Looking at unified logs for opendirectoryd and fdesetup, I see that a password change is being attempted in response to fdesetup add, which is unexpected.
default 13:34:41.320883+0100 opendirectoryd Changing password for <private> (E5CC46D7-0C1F-4009-8421-9AA8217CB784)
info 13:34:41.321317+0100 opendirectoryd No unlock record exists for E5CC46D7-0C1F-4009-8421-9AA8217CB784
info 13:34:41.321331+0100 opendirectoryd <private> (E5CC46D7-0C1F-4009-8421-9AA8217CB784) is not a SecureToken user: no unlock record
default 13:34:41.321341+0100 opendirectoryd Changing password for <private> (E5CC46D7-0C1F-4009-8421-9AA8217CB784): user <private> SecureToken, only new password provided, credential <private>
default 13:34:41.321454+0100 opendirectoryd Changing password for <private> (E5CC46D7-0C1F-4009-8421-9AA8217CB784) with no existing unlock record
info 13:34:41.321857+0100 opendirectoryd No unlock record exists for E5CC46D7-0C1F-4009-8421-9AA8217CB784
default 13:34:41.321873+0100 opendirectoryd Record <private> (E5CC46D7-0C1F-4009-8421-9AA8217CB784) is eligible for SecureToken
default 13:34:41.322637+0100 fdesetup DMAPFS cryptoUserForMacOSUserForVolume DMErr=-69594 retErr=-69594 outAPFSCryptoUser=(null)
default 13:34:41.322699+0100 opendirectoryd While changing password for <private> (E5CC46D7-0C1F-4009-8421-9AA8217CB784): Not adding SecureToken; other unlock records exist, but no existing unlock record provided
If I disconnect the network and follow the reproduction steps then the Secure Token is retained. Reconnecting and waiting a while doesn't cause the Secure Token to be lost. There are no log entries about attempting to change the password.
Any help or explanation would be appreciated, thanks in advance.
Hey everyone,
Is it possible and how to get Managed Apple ID (email) programmatically for user signed in to ipad through shared IPad feature ?
It would be good to have MDM independent solution, I mean API call to MDM service is not acceptable for us.
Maybe API call to ASM or ABM, or get that somehow on iOS device end... any advice ?
Thanks in advance,
Dima
Topic:
Business & Education
SubTopic:
General
Hello everyone,
I recently changed the phone number associated with my Apple ID (about 4 days ago), but I’m still receiving the two-factor authentication verification codes on my old number instead of the new one.
Has anyone experienced this? Is there a delay on Apple’s side, or is there something else I need to do to complete the update?
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).
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.
Background / Objective
We are currently developing a solution to centrally manage Apple OS updates (major and minor) across managed macOS devices. Before implementing at scale, we need Apple’s guidance on supported and future-proof update mechanisms under MDM.
Questions / Ask (Apple Guidance Requested)
Apple recommended method
What is Apple’s recommended approach to perform:
Minor updates (e.g., macOS X.Y → X.Z)
Major upgrades (e.g., Ventura → Sonoma) in an enterprise fleet?
Support boundary
Is macOS update management only supported via MDM (including any newer declarative workflows), or are local mechanisms (installer + command-line tooling) also considered supported for enterprise automation?
Use of startosinstall
Can we leverage the existing utility:
/Applications/Install macOS .app/Contents/Resources/startosinstall for automated upgrades in enterprise environments?
If yes, are there recommended flags/workflows Apple endorses for unattended or minimally interactive upgrades?
Long-term support / stability
Does startosinstall have any form of long-term support / stability guarantees across future macOS releases?
Are there any known deprecations planned (or guidance that customers should transition to MDM/DDM workflows)?
MDM interaction / interference
When using startosinstall, can MDM policies (software update deferrals/restrictions, update enforcement, etc.) interfere with or block the upgrade?
If interference is expected, what is the correct supported way to coordinate:
MDM software update settings
local startosinstall execution to avoid failures and ensure compliance?
What We Need From Apple (Desired Outcome)
A clear statement of recommended and supported update workflow(s) for enterprise managed macOS:
for minor updates
for major upgrades
Guidance on whether startosinstall is acceptable for long-term automation, or whether we should only use MDM/DDM-driven workflows.
Any best practices or reference documentation Apple recommends for implementing this safely and reliably.
10:17:34.335397+0900 Process SpringBoard Bootstrapping failed for <FBApplicationProcess: 0x4d8eca700; app<com.a.b.c>:> with error: <NSError: 0x300a3d1d0; domain: RBSRequestErrorDomain; code: 5; "Launch failed."> {
NSUnderlyingError = <NSError: 0x300a54090; domain: NSPOSIXErrorDomain; code: 85> {
NSLocalizedDescription = Launchd job spawn failed;
};
}
Topic:
Business & Education
SubTopic:
General
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.