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!
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
I am a developer distributing an enterprise app.
Recently, some users have intermittently encountered an error message on iOS 18.5 stating:
"Unable to install this app because its integrity could not be verified."
While the issue could not be reproduced on iPhone 15 / iOS 18.5, we have received reports that it does occur on the following devices:
iPhone 14 / iOS 18.5,
iPhone 14 Pro / iOS 18.5,
iPhone 14 Plus / iOS 18.5,
iPhone 16 Pro Max / iOS 18.5,
Are there any known issues or recommended solutions regarding this behavior?
Thank you in advance for your assistance.
Topic:
Business & Education
SubTopic:
General
Hello, this may not be the correct place to ask this question so I apologize in advance if this is the case.
I am currently running into two specifc issues while continuing to implement the app.managed configuration which are quite frustrating and I will detail them below
Unlike MDM where an application could be "reinstalled", by sending an install application command down for the same app DM does not have a similar mechanism which causes some issues as (while inconsistent) devices do not always respect the configuration sent down, and will not begin downloading VPP applications. They can be seen in the configuration when checking under VPN & Device Management but they do not return on a status report, alternatively and app will "install" but will have a cloud symbol next to it requiring a download (which I believe would be impossible on supervised devices without apple accounts/have restricted apple accounts associated to them). These apps are also reported incorrectly, as they return a managed response while being inaccessible. Both of these issues are solved by removing and reinstall applications (occasionally). Is there any easier way to trigger a re-install or is this the only way to trigger this?
The Version element that can be optionally sent down does not seem to work (or if it does, does so inconsistently). A device will very happily download the application initially with the version element present, though when we detect an updated external ID from the VPP program and send down an updated configuration devices behave unexpectedly. Some have ignored it, some have responded back that a download has begun (with no download taking place and the application clearly still being the initial installed version as can be see in the apps page) or it just works, but there is not consistency. I realize a new UpdateBehavior object has been added to possibly handle this, but it is only supported in iOS 26 and above and there are plenty of people who do not have phones that can upgrade that far. Are there alternative ways to enforce an application update other than uninstalling and reinstalling the application without the version (or will sending down a config without a version after one was originally pinned force it to update to latest?)
Kind Regards
Hi guys, I need to configure a VPN to work only for specific apps. I already have a supervised iPhone, and I’ve successfully configured the VPN, but right now it applies to the whole phone. I need it to work just for some apps.
I tried using both Apple Configurator and iMazing, but I can’t find this option there.
Hi,team:
I need to distribute an mdm configuration file containing the "ServiceManagementManagedLoginItems" service to a large number of company-supervised computers, where com.apple.servicemanagement only supports macOS 13.0+. However, I cannot effectively distinguish whether the device system where the mdm configuration file needs to be installed is greater than 13. Can I directly install the mdm configuration file on all devices? Will installing the mdm configuration file on devices less than 13 have any impact on the system or other configuration items in mdm? The description link of ServiceManagementManagedLoginItems is: https://developer.apple.com/documentation/devicemanagement/servicemanagementmanagedloginitems
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
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.
This is in reference to the feedback ticket
: https://feedbackassistant.apple.com/draft/57929340, we would like to know if there are any test enterprise websites that Apple can suggest to test passkeys declaration.
We have couple of devices that are registered into Platform SSO, and we have been noticing an issue when the user tried to login.
After the users enters the password and hit the return key nothing happens, they need to hit the return key probably 10-15 times in order for the login to happen, the password entered is the correct one and it's just that hitting the return key doesn't invoke the login.
On checking the log of the device one unusual thing that we noticed as compared to a different device where the login is working in a single go is that the AppSSOAgent or AppSSODaemon process were not getting invoked
Hi there,
We’re testing Declarative Device Management (DDM) for VPP app management and followed the latest declaration template here:
https://github.com/apple/device-management/blob/release/declarative/declarations/configurations/app.managed.yaml
Our goal is to enable VPP auto-updates via the declaration. The payload we’re using looks like this:
"AppStoreID": "1231325957",
"InstallBehavior": "{\"Install\": \"Required\", \"License\": {\"Assignment\": \"Device\"}}",
"UpdateBehavior": "{\"AutomaticAppUpdates\": \"AlwaysOn\"}"
}
What we’re seeing
Device A (no Apple ID signed into App Store): User can manually update the VPP app with the above declaration in place. ( The same user cannot update the app if UpdateBehavior is not in the declaration payload.
Device B (Apple ID signed into App Store, and the same Apple ID doesn't have the above app purchased): User cannot manually update the same VPP app. The App Store shows the error seen when UpdateBehavior is absent:
“ cannot be updated because it was refunded or purchased with a different Apple Account.”
Also, in this case, the user has no way to purchase the (free) app by their own as the app shows as owned/managed by MDM server. We have to remove the declaration, let the user purchase the same app, then re-deploy the declaration to allow the user to click that "Update" button when a new version for that app is available.
Additionally, we’re unsure about the criteria/timing for automatic VPP app updates under DDM. After a new version became available, we waited several hours but the app did not auto-update.
Repro summary
App: VPP, device-assigned license
Declaration: AutomaticAppUpdates = AlwaysOn, install required
Device A: not signed into App Store → manual update allowed
Device B: signed into App Store → manual update blocked with “refunded/different account” error
Auto-update did not occur after waiting several hours post-release
Any guidance, confirmation of expected behavior, or tips on additional logging we should collect (e.g., specific App Store / MDM / DDM logs and subsystems) would be greatly appreciated. If this is a known issue or requires a Feedback Assistant report, we’re happy to file one.
Thanks,
Hello folks,
I stumbled upon a weird CNContact serialization problem. I use the Contacts framework to update the AIM field, which is one of the instantMessageAddresses within a single Contact. Here is the simplified code I used:
func updateAIMFieldOn(contact: CNContact, aimValue: String) {
do {
guard let mutableContact = contact.mutableCopy() as? CNMutableContact else {
logger.error("[CM] Couldn't update contact with aim \(aimValue)")
return
}
var updatedAddresses = mutableContact.instantMessageAddresses
updatedAddresses.append(CNLabeledValue(label: "", value: CNInstantMessageAddress(username: aimValue, service: CNInstantMessageServiceAIM)))
mutableContact.instantMessageAddresses = updatedAddresses
let saveRequest = CNSaveRequest()
saveRequest.update(mutableContact)
try CNContactStore().execute(saveRequest)
logger.verbose("Contact's AIM updated successfully!")
} catch {
logger.error("Couldn't update contact")
}
}
And after serializing the contact to data, and then deserializing, the contact got two AIM fields with the same value:
X-AIM;type=pref:some:part:of_my_aim_value
IMPP;X-SERVICE-TYPE=AIM;type=pref:some:part:of_my_aim_value
Why does it work in this manner? Is it possible that ":" char causes that? Format of my aim username is {some:part:of_my_aim_value}. I didn't find any information in the docs.
Thanks!
Target Device: iPhone 13, iOS 18.5, enroll to MDM by enrollment profile
Command:
Response:
Anyone could help?
On iOS 26, if in "Single App Mode", the device gets stuck on the lock screen.
Devices are configured in SAM (kiosk mode), without a PIN requirement. Since updating to iPadOS 26, every single device that locks (goes to sleep) becomes completely unresponsive at the lock screen. Touch input does not work.
The only way to regain access is to reboot the device, which will boot to the SAM app, but then lock again if it goes to sleep.
Related discussion in the public forums.
Topic:
Business & Education
SubTopic:
Device Management
Hi Team,
After agreeing the Paid In-app purchase agreements, i have been asked to fill the tax forms of US Certificate of foreign status of beneficial owner and US substitute form W-8BEN-E.
Being an Indian Ed-tech company, we would like to know how should we approach this. Any help or support page or video on this can make our life easier.
Thanks
Team ACEplus.
Topic:
Business & Education
SubTopic:
General
Microsoft are retiring the “Azure AD Graph API”.
We allow the use of Apple email apps in our M365 tenant via the “Apple Internet Accounts” Entra ID Enterprise Application, however this is using the “User.Read” permission from this retiring “Azure AD Graph API”.
My concern is that Apple email app’s will stop working in our tenant when Microsoft retire the “Azure AD Graph API” and this permission is removed, as this is an Apple managed Enterprise Application, we have no method of changing the permissions ourselves.
I have not been able to find any information on how the “Apple Internet Accounts” Entra ID Enterprise Application can be updated to use the required, newer “Microsoft Graph API” “User.Read” permission.
It is not possible for us to change the permissions on the “Apple Internet Accounts” Entra ID Enterprise Application in our tenant, my assumption is that Apple would need to deploy a newer version of Email app that uses the newer “Microsoft Graph API” “User.Read” permission, and we would then need to consent the use of this new permission in our tenant.
I would have thought Apple would have deploy this by now, but we have not seen any consent requests.
Does anyone have any information about how Apple are handling this Microsoft change and how we can pre-emptively update the “Apple Internet Accounts” Entra ID Enterprise Application to ensure that Apple email client continue to work in our tenant?
Many thanks.
Topic:
Business & Education
SubTopic:
General
Hi Team,
Could you please share how to change/extend the expiry date of the existing iOS Distribution (In-House) certificate?
Since the membership renewal date is in March 2026 and the iOS distribution(In-House) certificate expiry date is in Feb 2026.
We use to distribute the mobile apps using the product intunes (Company portal) and via direct download link.
Please suggest since this certificate is used by multiple mobile apps by the users which can affect lot of iPhone users?
Thank you in advance
Deepak
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
Hi team,
We need to identify the domains used by macOS Software Update so they can be bypassed by our NETransparentProxy. The Apple support article below lists Software Update and several other Apple service domains.
At the moment we’re unsure whether we should only bypass the Software Update and Beta Software domains, or whether we also need to bypass domains used for certificate validation, device management (Apple Business Manager / Apple School Manager / Apple Business Essentials), network provider updates, Apple Diagnostics, etc.
We also need the specific IP ranges used exclusively by Software Update. The document shows Apple’s entire IP range; for IPv4 you can allow outbound connections to 17.0.0.0/8.
https://support.apple.com/en-in/101555
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 all,
I'm implementing Intune MAM to secure applications on iOS. However, I need my users to be able to save files (e.g. attachments in an email in the Outlook app) to iOS Files. To do so, I'm trying to put Files in exception of my Intune MAM policy and I need to obtain the Files "CFBundleURLSchemes" value from the info.plist file of the Files app. I'm not able to get that information.
Are any of you able to get that somehow?
Thanks!