We're working on an iOS app distributed through the App Store and installed on an MDM-enrolled device. Our MDM server uses InstallApplication to take management of the already-installed and running app.
On iOS 27 betas 3 and 4, processing this command causes iOS to terminate the app and its extensions with SIGKILL.
The same flow and MDM payload work without terminating the app on earlier iOS versions (iOS <=26).
Environment
OS: iOS 27 betas 3 and 4
Does not happen: iOS 26 or iOS 16.7.15
Device: iPhone SE 2nd Gen
Enrollment: MDM-enrolled device
Distribution: App Store app
App state: Already installed and running when management is requested
MDM command: InstallApplication
Minimal MDM command
The MDM server sends an InstallApplication command for the already-installed app:
Attributes = {
Removable = false;
};
ChangeManagementState = Managed;
Identifier = "APP_BUNDLE_ID";
InstallAsManaged = true;
ManagementFlags = 1;
RequestType = InstallApplication;
We also tested the equivalent command using iTunesStoreID = APP_STORE_ID instead of Identifier, and removing InstallAsManaged. The targeted running app was terminated in the same way.
Steps to reproduce
Install and launch the App Store app as an unmanaged app.
Enroll the iPhone in MDM.
While the app is running, send the MDM InstallApplication command to take management of the existing installation.
Observe the unified logs for mdmd, appstored, manageddeviced, installcoordinationd, and runningboardd.
The issue can also be reproduced by initiating the same server-side flow while the app is already in the background.
iOS 27 log sequence
The command is accepted and appstored starts the managed-app tasks.
manageddeviced then attempts to mark the app as managed using a null persona (this differs from iOS <26):
The running app has a valid persona. After the failed mapping, installcoordinationd explicitly asks RunningBoard to terminate the app to disassociate that persona:
After termination, removing the valid persona also fails.
The managed-app task later reports success despite the mapping failures and termination.
Earlier iOS comparison
As an example, on iOS 16.7.15, using the same MDM command, **iOS routes the request through dmd with persona: default.
The app remains alive and receives managed-app change notifications.
Expected
The existing installation becomes managed without terminating the running app, consistent with the behavior on earlier iOS versions.
Actual
manageddeviced tries to associate the app with persona (null) and fails with MIInstallerErrorDomain Code 191.
That failure causes installcoordinationd to request termination of the app and its extensions to disassociate their valid persona. runningboardd terminates them with SIGKILL (isUserKill=0). The subsequent removal of the only valid persona fails with Code 242, although the managed-app task later reports success.
Documentation checked
The payload follows the documented InstallApplication flow for taking management of an existing app:
Apple Docs
WWDC26 app MDM updates
We have not found a malformed field that explains the iOS 27-only failure.
More info
Detailed logs and additional info can be found on the Feedback report.
Topic:
Business & Education
SubTopic:
Device Management
Tags:
Device Management
Business and Enterprise
Education and Kids
iOS
0
0
25