iOS profile ingestion code/subsystem

I came across this forum response https://forums.developer.apple.com/thread/70696about redirecting profile ingestion code to the profile location to install a configuration profile automatically on iOS.


Is there any documentation regarding how to use this? Is it accessible by developers? Can this be used to install a configuration profile automatically on iOS?


Any response on this is highly appreciated.

Accepted Reply

Is there any documentation regarding how to use this?

No.

Is it accessible by developers?

Only tangentially. If you open a URL that points to a configuration profile you bounce the user to Safari which then bounces them to the profile ingestion UI.

Can this be used to install a configuration profile automatically on iOS?

Kinda, as discussed above. However the end result is a really poor UI. You may also run into App Review problems because configuration profiles aren’t really intended for App Store apps.

Apropos that last point, in situations like this I’d normally suggest filing an enhancement request (ER) for the features you need, but in this case that’s no so clear cut. I don’t think there’s any point filing an ER for an API for the profile ingestion system. Configuration profiles are intended to be use by admins in a managed environment, and those folks already have a bunch of options for installing configuration profiles (most notably, MDM). They are not intended to be used by App Store apps.

On the other hand, if you’re trying to do something with a configuration profile because there’s no equivalent API, that might make a reasonable ER. Certainly we’ve added APIs like this in the past (for example,

NEHotspotConfigurationManager
). However, you have to be realistic here. A lot of the features offered by configuration profiles are incompatible with the goals of the App Store, which is why they are only available via a configuration profile.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

Replies

Is there any documentation regarding how to use this?

No.

Is it accessible by developers?

Only tangentially. If you open a URL that points to a configuration profile you bounce the user to Safari which then bounces them to the profile ingestion UI.

Can this be used to install a configuration profile automatically on iOS?

Kinda, as discussed above. However the end result is a really poor UI. You may also run into App Review problems because configuration profiles aren’t really intended for App Store apps.

Apropos that last point, in situations like this I’d normally suggest filing an enhancement request (ER) for the features you need, but in this case that’s no so clear cut. I don’t think there’s any point filing an ER for an API for the profile ingestion system. Configuration profiles are intended to be use by admins in a managed environment, and those folks already have a bunch of options for installing configuration profiles (most notably, MDM). They are not intended to be used by App Store apps.

On the other hand, if you’re trying to do something with a configuration profile because there’s no equivalent API, that might make a reasonable ER. Certainly we’ve added APIs like this in the past (for example,

NEHotspotConfigurationManager
). However, you have to be realistic here. A lot of the features offered by configuration profiles are incompatible with the goals of the App Store, which is why they are only available via a configuration profile.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

Thanks for the quick reply!


Are there any recent changes in this profile-ingestion flow that would cause this to appear once you download the profile?


"Profile Downloaded - Install this downloaded profile in Settings."


It doesn't redirect to profile ingestion UI as it used to do previously. Any work-arounds I can use to make the profile installation flow mimic the old flow (i.e, redirect to profile ingestion UI once it downloads)? I am looking for ways to add an email account programatically to be specific. So, any other ways that can do that other than the .mobileconfig profile which is leading to the above dialog and doesn't redirect user, would be of great help.

Recent as in how recent? I vaguely recall another developer complaining about something like this in 12.1.1 beta (which has just GM’d). I suspect, but haven’t confirmed, that this is a deliberate change to make it harder for malicious software to trick users into installing profiles.

Regardless, this isn’t something I can help you with. As I discussed above, there aren’t really any profile ingestion APIs, and APIs are my primary focus.

I am looking for ways to add an email account programatically to be specific.

That seems like a reasonable enhancement request, very much along the lines of what we’ve done with

NEHotspotConfigurationManager
. I recommend that you file a formal enhancement request for such an API. While it won’t help in the short term, it would clearly be a better long-term solution.

Please post your bug number, just for the record.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"