We have an iOS "In-House" app (distributed OTA) with a Distribution Provisioning Profile that, as you may know, expires in 1 year. We have gone through upgrading the profile and distribution pains last year, so we are familiar with the process of distributing the app with a new profile, but I want to ask some questions just for clarity. (We are currently 29 days away from expiration, so users are getting notified)
Last year we thought that creating a NEW distribution provisioning profile with the same name as the expiring profile would overwrite the expiring profile. We were incorrect, it does not, and the device wound up with 2 profiles of the same name. Since you cannot overwrite an old profile, the problem from a maintenance and help desk perspective is that when you distribute the app with the new profile, users (hundreds in our case) still get notified that "The provisioning profile will expire in x days" even after they've upgraded the app that includes a new profile.
As you can imagine, that is confusing to users and frustrating for higher ups in the tech department. As I understand it, you're left with two ways to deal with having an unneeded expiring provisioning profile on the device(neither of which is a good user experience). Either:
- Tell the users to ignore the message that their profile is expiring (I believe the expiring profile notification comes at 29 days, 15 days, and every day starting at 7 days...though not positive) and have them upgrade the app with the new profile.
or - Once the users have upgraded the app with the new profile, have them manually delete the expiring profile in Settings > Profiles. UGH!
Is there any workaround for how to remove the expiring profile aside from walking the individual user through the process? Are we missing something?
I don't want to revoke the cert that is contained in the expiring profile because that will present more problems - i.e. app not working for users who don't upgrade.
Simply put, we would just like to have a process that forestalls the expiration alerts so a user never sees them.