I'm are attempting to use the device management migration feature in Apple Business Manager / Apple School Manager (for devices running iOS 26 / iPadOS 26) to re-assign managed devices from one MDM server to another. We followed the published procedure (select device(s) → Assign Device Management → Set deadline → Continue).
However, we are observing that on the device side, no notification or prompt appears to the user (such as “Enrollment Required” or “Your organization requires this device to enroll in a different device management service”), even after the migration deadline has passed.
Here are the environment details:
Device OS version: (iOS 26.1)
Device ownership: enrolled via
Automated Device Enrollment
MDM re-assignment in ABM: old MDM server(name: https://dev5.clomo.com/panel/mackey-dev/ ) → new MDM server (name: https://obliging-bunny-equally.ngrok-free.app/ )
Deadline set: (12/10/2025 12:00 AM)
Network connectivity: confirmed online at deadline time
We would like to know:
Under what exact conditions will the device display the notification/prompt, and what common mis-configurations prevent it from appearing?
Is there any device log or activity indicator in ABM/ASM to confirm that the migration instruction has been sent to the device?
In cases where the prompt does not appear, what troubleshooting steps can we perform on the device (or in the MDM/ABM configuration) to correct it?
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
Hi Team, As per this documentation Handling NotNow Status Responses | Apple Developer Documentation, the last command that is delivered to the device on a connection should be the one that the device reported NotNow so that the device will automatically retry when it is ready to consume commands. Our question is it possible to have a fixed command which we can try at the end once all commands are tried and if device has reported NotNow for any of the commands.
E.g. If there were 3 commands delivered to the device one by one
SSO profile (com.apple.sso ) was delivered and device reported NotNow
VPN profile (com.apple.vpn.managed) was delivered and the device reported NotNow
DeviceInformation command was delivered and the device reported Acknowledged.
As there were NotNow responses earlier, can we try a certificate profile(com.apple.security.pkcs1), with a dummy certificate payload, to ensure that the last command delivered to the device in this connection is responded with NotNow.
Questions:
Can we use a fixed command e.g. certificate profile(com.apple.security.pkcs1) as in above example to ensure the last command delivered to the device has NotNow response. Or is it better to try one of the commands which the device reported NotNow earlier. As in above example should we try the SSO or VPN profile at step 4 instead of the certificate profile?
Following up to above, when a device reports NotNow for any profile installation command, can we say it will always report NotNow for certificate profile(com.apple.security.pkcs1) as well for all iOS and MacOS devices?
Topic:
Business & Education
SubTopic:
Device Management
Hi everyone,
We manage several macs through Microsoft Intune. We've deployed Platform SSO using the password based method (not the Secure Enclave) and have also enforced filevault encryption through policy.
What we're trying to achieve is that multiple users can log into the same Mac. For example, I (the initial enrolling user) can log in without issues. However, we want a colleague to be able to log in as well if they're physically in front of the mac.
The challenge we've run into is that once filevault is enabled (We're not sure about it but reading on forums it seems that the problem is filevault), it seems the network is not available at the login screen. This means that while the first user can create a mobile account and log in, a second user can't do the same. The moment we try to log in with another set of credentials, we get an immediate error and the password field shakes instantly, suggesting it's not even reaching out to the network or directory to validate the credentials.
We'd like to confirm if this behavior is expected when FileVault is active and whether the only solution is to disable FileVault or if there are alternative solutions to allow network connectivity at the login screen.
Essentially, we want to know if there's a way to let a second user log in without having to turn off disk encryption.
Or if we can pre-authorize a set of users on the mac in order to create all the mobile account needed..
Thanks in advance!
Thomas
I'm using Apple's MDM protocol InstalledApplicationListCommand to get information about installed apps.
From iOS/iPadOS 26, the app information obtained by InstalledApplicationListCommand includes information on all apps including system apps (apps that come standard with iOS/iPadOS).
https://developer.apple.com/documentation/devicemanagement/installed-application-list-command
I want iOS/iPadOS26 to get the same information as the app information I get from the previous iOS/iPadOS, and I want to exclude system apps from the app information I get with the InstalledApplicationListCommand.
As a way to exclude system apps, you can use the app ID
I'm thinking of a way to exclude anything that starts with "com.apple" (the Identifier key value of the InstalledApplicationListResponse.InstalledApplicationListItem object).
As a way to exclude system apps, please tell us whether the above method is appropriate and whether there will be any problems in the future.
Topic:
Business & Education
SubTopic:
Device Management
Hello,
I am building a Content Filter app for iOS and would like to get access to some information about network connections that are happening on the device.
I managed to have the handle(_ report: NEFilterReport) method of my NEFilterControlProvider called, but the bytesOutboundCount and bytesInboundCount properties of the report are always 0.
How can I have the real byte count of the connection ?
We have a WebContentFilter that has an AllowList with a couple of domains and a DenyList that includes www.apple.com. This works on iOS18.x but doesn't work in iOS26 as www.apple.com can be reached.
https://support.apple.com/en-gb/guide/deployment/depc77c9609/web
Indicates that .apple.com is always accessible but evidence seems to indicate this wasn't the case pre iOS26. An older version of this page
https://web.archive.org/web/20220427202204/https://support.apple.com/en-gb/guide/deployment/depc77c9609/web has no mention of .apple.com although field names are also different.
Has this change come about due to the filtering changes introduced in iOS26 and is there any way we can still block .apple.com going forward. Would a content plugin be an options ?
Topic:
Business & Education
SubTopic:
Device Management
Steps to Reproduce
Step 1: Fetch Initial Device List
Called the device list endpoint to retrieve all devices and saved the cursor:
GET https://mdmenrollment.apple.com/server/devices
Step 2: Modify Devices
Added and deleted several devices via https://business.apple.com/
Step 3: Sync Without Pagination
Called the sync endpoint using the cursor from Step 1 (no limit):
GET https://mdmenrollment.apple.com/devices/sync?cursor={step1_cursor}
Result: Returned 3 device records as expected:
{
"devices": [
{
"serial_number": "F70JJ4C16L",
"op_type": "added",
"op_date": "2025-12-11T07:05:05Z"
},
{
"serial_number": "F70JJ4C16L",
"op_type": "deleted",
"op_date": "2025-12-11T07:04:36Z"
},
{
"serial_number": "C8RWGXZXJWF5",
"op_type": "deleted",
"op_date": "2025-12-11T07:04:52Z"
}
],
"more_to_follow": false
}
Step 4: Sync With Pagination (First Page)
Called the sync endpoint using the same cursor from Step 1 with limit=1:
GET https://mdmenrollment.apple.com/devices/sync?cursor={step1_cursor}&limit=1
Result: Returned 1 record with more_to_follow: true — indicating more data exists:
{
"devices": [
{
"serial_number": "F70JJ4C16L",
"op_type": "added",
"op_date": "2025-12-11T07:05:05Z"
}
],
"more_to_follow": true,
"cursor": "MTowOjE3NjU0MzgyNDI5ODc6..."
}
Step 5: Sync With Pagination (Second Page)
Called the sync endpoint using the cursor from Step 4 with limit=1:
{
"devices": [],
"more_to_follow": false
}
Expected Behavior
When paginating with limit=1, the API should return all 3 records across 3 sequential requests.
Actual Behavior
Without pagination: Returns 3 records ✓
With pagination (limit=1): Returns only 1 record, then empty array ✗
2 records are missing when using pagination.
Impact
This inconsistency makes the sync API unreliable for incremental device synchronization workflows.
Topic:
Business & Education
SubTopic:
Device Management
I came across this tool that enables supervised mode on iOS without resetting the data. it's essentially a macOS with a unix executable file underneath. a quick guide of how it works is here
https://www.techlockdown.com/guides/enable-supervised-mode-iphone
I would appreciate any guidance on how to recreate this, as this is behind a paywall, and would like to offer something similar for free to people who want to restrict their families devices.
Topic:
Business & Education
SubTopic:
Device Management
Hello,
I’d like to clarify the technical limitations around app updates in an Apple School Manager (ASM) + MDM environment.
Environment
• iOS/iPadOS devices supervised and managed via Apple School Manager
• Apps are distributed via ASM (VPP / Custom App) and managed by MDM
• Apps are App Store–signed (not Enterprise/In-House)
• Some apps include NetworkExtension (VPN) functionality
• Automatic app updates are enabled in MDM
Question
From a technical and platform-design perspective, is it possible to:
Deploy app updates for ASM/MDM-distributed App Store apps via a separate/custom update server, and trigger updates simultaneously across all managed devices, bypassing or supplementing the App Store update mechanism?
In other words:
• Can an organization operate its own update server to push a new app version to all devices at once?
• Or is App Store + iOS always the sole execution path for installing updated app binaries?
⸻
My current understanding (please correct if wrong)
Based on Apple documentation, it seems that:
1. App Store–distributed apps cannot self-update
• Apps cannot download and install new binaries or replace themselves.
• All executable code must be Apple-signed and installed by the system.
2. MDM can manage distribution and enable auto-update, but:
• MDM cannot reliably trigger an immediate update for App Store apps.
• Actual download/install timing is decided by iOS (device locked, charging, Wi-Fi, etc.).
3. Custom update servers
• May be used for policy decisions (minimum allowed version, feature blocking),
• But cannot be used to distribute or install updated app binaries on iOS.
4. For ASM-managed devices:
• The only supported update execution path is:
App Store → iOS → Managed App Update
• Any “forced update” behavior must be implemented at the app logic level, not the installation level.
⸻
What I’m trying to confirm
• Is there any supported MDM command, API, or mechanism that allows:
• Centralized, immediate, one-shot updates of App Store apps across all ASM-managed devices?
• Or is the above limitation fundamental by design, meaning:
• Organizations must rely on iOS’s periodic auto-update behavior
• And enforce version compliance only via app-side logic?
⸻
Why this matters
In large school deployments, delayed updates (due to device conditions or OS scheduling) can cause:
• Version fragmentation
• Inconsistent behavior across classrooms
• Operational issues for VPN / security-related apps
Understanding whether this limitation is absolute or if there is a recommended Apple-supported workaround would be extremely helpful.
Thanks in advance for any clarification
Hi, I might be a bit late to the party, but Apple has added several SkipKeys such as: TapToSetup and SafetyAndHandling. I want to make sure that the keys is working properly, so I want to do the before-after comparison, however I just can't seem to show pages related to those keys.
Just for information, I'm based in Japan and I've been using iPhone pro 16 and M2 iPad Pro for the testing.
I believe that TapToSetup is apple tv-related, so I've tried various things such as having it in a same network or using the same apple account both in Apple TV and the iPhone/iPad but I can't get it to show.
Any ideas?
I am trying to correctly manage about 20 Mac, iPhones and PC
inside a Wi-Fi network built through
System Settings > Sharing > Internet Sharing
To achieve this task I defined a complete configuration file:
/etc/bootpd.plist
which is used by /usr/libexec/InternetSharing.
But every time /usr/libexec/InternetSharing is starting
the file /etc/bootpd.plist is overwritten by another file and my configuration
is thus fully lost.
How to set a correct /etc/bootps.plist file and avoid its total overwrite
by /usr/libexec/InternetSharing?
Is it necessary to write this bootpd.plist in some other directory for
/usr/libexec/InternetSharing to load it without destroying it?
I got the same configuration total erase on macOS Big Sur and Sequoia.
Hello,
I am trying to authenticate to the Apple Business Manager API to retrieve device information and ingest it into ServiceNow. I am following the documentation here.
The first step is to create an API account and download the private key used to create a JWT client assertion.
The guide linked above gives a python script to create a client assertion. Below the first python script, the following description is given for the "kid" variable: "The value is your keyId that returns when you upload a public key." This is the first time that a public key, rather than a private key, is referenced. Where is the public key supposed to be uploaded?
Later in the guide, a public key is referenced again, in the section describing the client_id Request parameter: "(Required) You receive your clientId when you upload a public key."
I have tried to create a client assertion using the keyId that is associated with the API account. When I try to request an access token, however, I also get an "invalid_client" error back. I am wondering if I'm using the wrong values for both key_id and client_id due to not creating and uploading a public key.
Any help would be appreciated, thanks!
Hi,
I’m testing the ClearPasscode MDM command:
https://developer.apple.com/documentation/devicemanagement/clear-passcode-command
Question: If a user enters the passcode incorrectly multiple times and the device becomes temporarily locked (e.g., “Try again in X minutes”) or reaches “Security Lockout”, can ClearPasscode still be executed successfully while the device is in that state?
{'ErrorCode': 5013,
35708 'ErrorDomain': 'MCPasscodeErrorDomain',
35709 'LocalizedDescription': '\xe3\x81\x93...x89',
35710 'USEnglishDescription': 'The passcode cannot be cleared (-1)'}
If it depends on conditions (e.g., supervised vs. user enrollment, availability of UnlockToken, network/check-in state), could you clarify which conditions are required?
Thank you.
I've been running the betas fine for a while, now, where do you want to go??
Topic:
Business & Education
SubTopic:
Device Management
We are moving to Apple Business Store for our b2b customers.
On the "residential" apple store side there is testflight.
What process would one test an app we provide to a b2b customer when using apple business store publishing?
(I don't see any sort of test flight for apple business)
It seems like every time an IOS update is installed, the camera app file formats get reset to defaults. This setting is not available to manage at the MDM level. Many people need the the most compatible settings for the purpose of file sharing. So, now we have nearly 1,000 devices with a complete mix of photo and video formats. And IT has wasted MANY hours converting files for people.
Feature Request: Please either stop resetting the camera app file formats or allow us to manage those settings at the MDM level.
Respectfully,
Robert
I found that "search" endpoint is recently added to api.ent.apple.com : https://developer.apple.com/documentation/devicemanagement/get-catalog-search-results
However it seems we cannot find custom apps using this API even with sToken.
Is it not suppoted yet?
Thank you
I want to side load a .ipa file from a Mac to iPhone connected to Mac via USB. I don't want to use ABM or enterprise account. Also these can be any number of unknown devices. Is there any way to set this up automatically?
Topic:
Business & Education
SubTopic:
Device Management
Tags:
Developer Tools
Xcode
Command Line Tools
Is there any mechanism to restrict camera usage on a user-owned device, once they have opted in, consented to the restriction, and installed a management profile?
Documentation suggests it was possible with allowCamera, but has be deprecated on unsupervised devices. Am I understanding correctly that it's simply not possible anymore unless the device is supervised?
I'm working on the companion iOS app for my purpose-built MDM system. when I use the following in a .swift file:
import DeviceManagement
I get the build issue:
No such module 'DeviceManagement'
When I attempt to add the framework in the Frameworks, Libraries, and Embedded Content settings, DeviceManagement doesn't even show up in the available frameworks.
Alll the documentation I can find suggests that is the correct framework to import, but I'm new to this and not sure if I'm just missing something.
Some AI help is suggesting that the culprit might be v16.x of Xcode, but I don't know enough to prove that correct or not.
Any ideas on why Xcode believes there is no such module? Is there documentation that might help me learn how to make that framework available for my project?