I am needing to access the ABM API via C#. Searching has directed me to use BouncyCastle. I have downloaded the PEM file. However, using the following:
using (var reader = File.OpenText(pemFilePath))
{
var pemReader = new PemReader(reader);
var keyObject = pemReader.ReadObject();
I get the error "problem creating EC private key: System.NullReferenceException: Object reference not set to an instance of an object."
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 creating a prototype with the new Screen Time API introduced by Apple. The issue I am facing is, Applications installed in child device is not showing in parent device with FamilyActivityPicker. It is showing in Child device and apps can be shielded from child's device. Can some one describe, how to list the apps in parent's device.
Both Device are running in iOS 15.3.
Both falls in same family group
Child is under 13 yrs old
Screen Time enabled in both device and parent device can see child in Screen Time.
Topic:
Business & Education
SubTopic:
General
Tags:
Education and Kids
Device Management
wwdc21-10123
This test setup is Jamf Pro as the MDM with Entra as the IdP. PSSO is working on Sequoia devices.
Prior to Tahoe, PSSO required the following three items: An existing local account, the delivery of Company Portal, and a profile containing PSSO payload.
Based on the Tahoe announcement, it looks like PSSO is now available during Setup Assistant, removing the requirement of first creating a local account. I assume this means that the requirements now as easy as deploying Company Portal and the PSSO profile during the Pre-Stage policy.
I attempted this on the macOS 26 beta 1 and during Setup Assistant, with the PSSO profile delivered, Setup Assistant prompts me to login to my IdP. However, pressing Continue will result in a failure, notifying me that the application required is not available. The continue button is now inactive but a "try again" button is available. This results in the loop of trying and then failing, stating that the required application is not available. I eventually must quit Setup Assistant which exits it and drops me at the login window. The only account that is visible is the management account. A trip into DFU and an IPSW restore then follows.
Am I trying this too soon? Is PSSO at Setup Assistant not yet fully supported? Is there another requirement other than delivering Company App in the prestige alongside the profile?
I've enabled the beta channel in MAU but there is no newer Company Portal being offered.
Any guidance here would be appreciated as this is the PSSO announcement I've been waiting for since the deprecation of Apple Enterprise Connect.
Topic:
Business & Education
SubTopic:
Device Management
Hello,
We are working with an iOS app that is distributed as a Public Unlisted App Store app. Our MDM allows us to import the app by URL, but when added this way, the app is marked as unmanaged in the inventory. Because of that, we cannot assign a Managed App Configuration payload to it in the normal way.
What we are trying to achieve:
Deliver a configuration profile to all enrolled devices before the app is installed.
When the user installs the app from the MDM catalog, the app should immediately see the configuration values.
Questions we’re hoping to clarify:
Is it technically feasible to pre-provision a Managed App Configuration for an app in this scenario, by pushing a .mobileconfig profile to all devices?
If yes, what would be the correct payload format and content of such a .mobileconfig file?
We’ve tested a profile format we found here that uses com.apple.managed-app-config PayloadType and a ManagedAppConfiguration key with the bundle ID nested inside, but iOS reports this as “payload not recognized.” From what we understand, that may not be part of Apple’s schema.
Any guidance from Apple or the community on whether this use case is possible (and, if so, what the valid profile format should look like) would be very helpful.
Note: For a complicated company policy, at the moment we are not able to participate in ABM.
Thanks in advance!
Hello, I have implemented my virtual meeting extension and my application shows no issues in the calendar application, with a join button displayed. Everything is great!.
However, with the help of EKEventEditViewController and EKEvent instances, when creating an event from the main target of the application using EventKitUI, the event will not be displayed as a virtual meeting.
I have seen that other applications like Zoom have already implemented this, and I find it difficult to find relevant documentation on how to link events created by the program to virtual meetings.
How do I set an event as a meeting when I want to add it to the main program? In addition, the function in the VirtualConferenceProvider.swift file of the extension program fetchVirtualConference(identifier: EKVirtualConferenceRoomTypeIdentifier, completionHandler: @escaping (EKVirtualConferenceDescriptor?, (any Error)? )->Void) How are the parameters in this function obtained? It's impossible for every conference related link to be the same
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.
There is a longstanding restriction payload for supervised iOS devices that disables "Erase All Content and Settings." We have been experimenting with supervised watches paired with supervised phones that have that payload applied, and yet "Erase All Content and Settings" remains available on the watch. Is this:
– a) An error with our payload? Should we be sending something else?
– b) A bug in watchOS supervision?
– c) A deliberate design choice? If so, what is the rationale for preventing organizations from maintaining this very basic level of control over devices they may be configuring and dispatching into the field?
Topic:
Business & Education
SubTopic:
Device Management
Tags:
watchOS
Apple Business Manager
Device Management
I have an in house application that I develop for my company.
The application requires our corporate MDM profile is installed on the phone. I recently got a new phone and our corporate IT team installed the MDM profile and the Comp Portal application for me to manage our corporate applications.
I installed the application through the Comp Portal. It crashes right away when I launch the application and I see this error message in the Console when connected to the phone:
"SpringBoard Snapshot generation request for bundleID: com.mycompany.mygroup.appName rejected due to the app being denylisted."
I see other errors from runningboardd about failing to spawn the job and SpringBoard Bootstrapping failed for <FBApplicationProcess: 0x510affd80; app<com.mycompany.mygroup.appName>:> with error: <NSError: 0x301e60090; domain: RBSRequestErrorDomain; code: 5; "Launch failed.">
I can launch a development version of the application with no problem by connecting the USB cable from my machine to my device and running through XCode.
Other people have no problems launching the application. I compared all the certificates in the management profile with another device where the application does not crash and there are identical.
We checked a number of settings on the devices to see if there could be something preventing the application from running but found nothing.
We reset all settings and deleted and reinstalled the application with rebooting to see if perhaps it was an incomplete installation. Our IT folks want to wipe the phone and start over but I have little confidence that will fix the issue since we don't know the root cause.
I am concerned that one of my Stakeholders might have the same issue if they get a new device. This application worked fine on my old phone.
Device: iPhone 16 Pro Max
iOS version: 18.2.1
Any ideas on next steps to troubleshoot this issue?
How can I figure out the cause of the denylisting?
Main Issue
We are experiencing an issue where iOS devices become unresponsive when attempting to shutdown or reboot from the lock screen while locked into Single App Mode via MDM or Apple Configurator.
Steps to Reproduce:
Start any iOS device.
Use Apple Configurator or an MDM solution to enable Single App Mode.
Wait for the device to lock into the specified app.
Lock the device so that it goes to the lock screen.
Hold the Power button and Volume Up button until the shutdown/emergency screen appears.
At this point, the device becomes unresponsive.
After approximately 30 seconds, the message "Guided Access app unavailable. Please contact your administrator" appears.
The device is now frozen, and the only way to recover is to force restart it using Apple's forced restart method (Apple Support Link).
Additional Issue:
Additionally, we observe that when using an app in Single App Mode, attempting to reboot the device and canceling the reboot prevents any subsequent reboot attempts until a force restart is performed.
Steps to Reproduce This Behavior:
Lock the iOS device into Single App Mode.
Use the app normally.
Attempt to shut down the device by holding the Power and Volume Up buttons.
The shutdown/emergency screen appears as expected.
Cancel the shutdown by tapping "Cancel."
The device returns to the lock screen.
Swipe up to return to the app.
Attempt to shut down the device again using the same method.
Nothing happens—the shutdown screen no longer appears.
The only way to reboot the device now is through a forced restart.
This appears to be a bug in Single App Mode behavior, potentially related to Guided Access restrictions. Has anyone else encountered this issue?
Is this the right place to report this issue? or should I report it elsewhere?
I have more videos and material showing how to reproduce this issue if needed.
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?
"To receive payments from Apple, you must add a bank account."
As an Apple "Individual" developer, can I accept payments to my corporate card?
I’m looking for advice on implementing an Active Supervision Mode for enhanced parental control. My goal is to restrict access to both iOS system apps and third-party applications to create a safer and more tailored digital experience for my child.
Here’s what I’d like to achieve:
App Restrictions: Block specific apps (both iOS and third-party) and allow access only to approved ones.
Time Limits: Set daily usage limits for individual apps or app categories.
Content Filtering: Apply restrictions to block inappropriate content and age-inappropriate apps.
Remote Management: Manage these settings remotely from my device for added convenience.
Activity Monitoring: View app usage stats or receive alerts for policy violations.
I understand that Screen Time on iOS offers basic parental controls, but I’m exploring whether iOS supports more advanced capabilities natively or through additional configurations.
I’ve also heard that enrolling a device in Apple Business Manager (ABM) and linking it to an MDM (Mobile Device Management) solution might provide greater control. If this is a viable solution, could anyone provide guidance on:
Enrolling a personal or family-owned device into Apple Business Manager.
Linking an MDM for configuring app restrictions and monitoring usage.
Alternatively, if there are third-party parental control apps that work seamlessly with iOS to achieve these goals, I’d appreciate your recommendations!
Thanks in advance for your insights!
Hello,
I’ve run into an issue with a configuration profile on my supervised iPhone. I’m wondering if anyone here might be able to help?
The profile contains the allowListedAppBundleIDs key within the restrictions payload. My Apple Watch is paired with the iPhone. The iPhone was supervised manually with Apple Configurator, hence the Apple Watch has not been directly supervised itself.
The profile works completely as expected when installed on the phone. As soon as the profile is installed on the iPhone, I can witness the apps on the Apple Watch rearrange themselves as some apps are hidden. So clearly the profile is applying its restrictions to the Apple Watch to some degree.
My issue however is that apps listed in the whitelist are hidden from the Watch. The apps that are missing from my Watch are Walkie Talkie, Find My Items, Find My Friends, Messages, Alarm, Remote, Now Playing, Sleep, Meditation and Heart Rate. This is despite the following bundle IDs being listed in the whitelist array: com.apple.findmy.findpeople, com.apple.findmy.finddevices, com.apple.HeartRate, com.apple.SessionTrackerApp, com.apple.NanoWorldClock, com.apple.findmy.finditems, com.apple.Mind, com.apple.NanoOxygenSaturation, com.apple.watchmemojieditor com.apple.NanoSleep com.apple.NanoNowPlaying com.apple.noise com.apple.tincan com.apple.NanoRemote com.apple.NanoAlarm com.apple.private.NanoTimer com.apple.NanoStopwatch
I’ve done some testing, but not sure what I’ve found really. I’ve so far identified 3 scenarios.
Scenario 1: I have the whitelist profile installed on the iPhone. I download an app that appears in the whitelist from my watch (or at least its iPhone version does). The apps show up on the iPhone automatically and can be launched there. These apps cannot be launched on the watch.
Scenario 2: I downloaded a few apps to my watch, that didn’t automatically install on my iPhone at the same time. They were on the whitelist. These ones couldn’t be launched from my Watch. I then downloaded them to the iPhone and they could be launched there (since they were on the whitelist).
Scenario 3: A couple of 3rd party apps on the whitelist could be downloaded and launched from the watch with the whitelist installed.
It seems as though there are different kinds of Apple Watch app and this is what I’ve read elsewhere. First of all there are Watch-only apps, which do not automatically install a companion iPhone app. Secondly there are companion apps, which when installed from the Watch App Store download their companion app to the iPhone in the background. Someone please correct me - I’m bound to be overlooking something here.
So maybe the apps that when installed from Watch automatically install on iPhone and can only be launched from the iPhone have a separate bundle ID for their Watch app which I haven’t included?
Apps that are on the whitelist AND do not automatically install an iPhone app AND can be launched from the Watch, include:
solstice
What3words
So maybe these do not need a companion app, but have the same Bundle ID as their iPhone app?
However, I’m still not sure why many stock Apple Watch apps are missing from the Watch…. The most obvious answer is that I’ve got their Bundle IDs wrong, but I don’t think I have given I extracted the bundle IDs from the App Store pages of the Apple WatchOS apps.
I noticed at this Apple Support page (https://support.apple.com/en-gb/guide/deployment/dep34c5cd30f/1/web/1.0) that there is no mention of whitelisting or blacklisting apps on WatchOS using MDM, yet something definitely happens on the watch when the configuration profile is installed on the iPhone. Furthermore, if I tap on a configuration profile, which comprises a blacklist, on my iPhone it will ask me if I want to install it on the iPhone or Watch. The same pop-up question doesn’t happen when the profile contains a whitelist.
All this to say, I’m massively confused as to why I can’t get this working. I’d really appreciate anyone’s advice which is bound to be expert.
Thank you
ABM has introduced a target date for moving a device from one MDM server to a new one.
However, there's nothing in the API for setting that when you use the API to move MDM server
Am I missing something or does it just not exist?
Thanks
Caroline
Hi,
I was looking for advice on the suitable mac to get for a web app development project for university . Would an Apple MacBook Air 2020 M1 8GB RAM 256GB SSD 13.3" macOS Big Sur, be sufficient ?? Or would I need a newer version !
Topic:
Business & Education
SubTopic:
General
I'm currently implementing a managed app using the new AppConfig specification. I referred to Apple's official documentation: Specifying and decoding a configuration.
Based on the example provided in the "Publish your configuration specification" section, I structured my application configuration plist like this:
<?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>configuration</key>
<dict>
<key>account</key>
<dict>
<key>username</key>
<string>test user</string>
<key>password</key>
<string>test 123</string>
</dict>
<key>domain</key>
<string>test example.com</string>
</dict>
</dict>
</plist>
When I deployed this configuration via my MDM server, the server reported valid for the activation, configuration and asset (which is the plist), but the configuration did not reflect or apply within my app. My app was unable to retrieve these settings.
After some troubleshooting, I found that removing the top-level <key>configuration</key> wrapper resolved the issue. The following plist structure successfully pushed the configuration to my app:
<?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>account</key>
<dict>
<key>username</key>
<string>test user</string>
<key>password</key>
<string>test 123</string>
</dict>
<key>domain</key>
<string>test example.com</string>
</dict>
</plist>
My question is:
Is the inclusion of the <key>configuration</key> wrapper (as shown in the Apple documentation example) incorrect for the current AppConfig implementation? Or is this structure intended for a future release (e.g., iOS 26 or beyond) and the documentation implicitly refers to it, causing confusion for current implementation?
Any clarification would be greatly appreciated!
Thank you!
Hello,
I'm currently working on implementing app installation features, referencing the app.managed.yaml declaration on GitHub: https://github.com/apple/device-management/blob/0a4527c5ea21825fd23e08273ccdb9e2302458ce/declarative/declarations/configurations/app.managed.yaml
My question pertains to the InstallBehavior.Version key. The current specification indicates its type as <integer>:
key: Version
title: Version
supportedOS:
iOS:
introduced: '26.0'
macOS:
introduced: '26.0'
visionOS:
introduced: '26.0'
type: <integer>
Is there a way to specify the app version using a string format, such as x.y.z, instead of the integer (App Store External Version Identifier - EVID)?
Allowing for a simpler version specification would make app version management through MDM more flexible and efficient. I believe this would significantly streamline the deployment and operation of Apple devices within organizations.
Any guidance or consideration for this would be greatly appreciated.
Thank you.
Hi,
My client has already developed an ios app and they need an enterprise account to publish the app. What are the procedures to create enterprise account?
I created a provisional profile from apple developer portal for my iOS app. The expiry date shown in the profile is 21-April 2026. However, when I build the app with this provisional profile the expiry date shown in the app is 11 Dec, 2025. My iOS distribution certificate expires only in November 2026. I see a embeded.mobileprovision profile inside the app, and it has an expiry of 11-Dec-2025. I did a clean build,, cleared unnecessary profiles from profile folder, created a new provisional profile and tried, but nothing seems help.
We have a few apps, and no other app has this issue. We do annual release of all apps together for provisional profile renewal. As this app expiry is different, it will cause lot of difficulty for us next year. Will you please help me to resolve this issue?
Thanks.
We're currently facing an issue with Intune not automatically updating/downloading the updated build/app to end-user ios devices. It's worth noting that we've recently migrated the Xamarin project to a .NET-style SDK in this version. Previously, the app used to update automatically without any problems. We'd appreciate it if you could help us understand what might be causing this issue.