I have just updated to Xcode 8 and I now have two options for app signing, Provisioning Profile and Provisioning Profile (Deprecated).
Why is one deprecated, and what is the difference between the two?
When an Apple iOS provisioning profile expires, device users cannot access the associated application, and new device users cannot install the application.
However, the provisioning profile expires after a year. While the certificate is still valid, Intune gives you the tools to proactively assign a new provisioning profile to devices that have apps that are nearing expiry.
Your Apple ID identifies your team and/or you as a developer. The App ID identifies a specific application or extension and the reference to the signing certificate identifies it as yours. The Provisioning Profile brings all the above together and identifies where and how this app can be distributed.
A provisioning profile links your signing certificate and App ID so that you can sign apps to install and launch on iOS devices. You must have a development provisioning profile to sign apps for use with iOS Gateway version 3.4 and later.
Update 2017/02/13
User interface for managing signing certificates and provisioning profiles has been changed at Xcode 8.3 beta 2.
Changed the user interface for managing signing certificates and provisioning profiles. Certificates are managed from the Accounts preferences pane by selecting a team and clicking Manage Certificates. Automatically managing signing is recommended, however if your app requires manually signing provisioning profiles are managed in the General tab of the project editor. Use the Provisioning Profile dropdown to import or download profiles. In addition it displays profiles that match the current signing configuration of the target. (28641027)
I think Its deprecated because the signing system has been rewritten in Xcode8.
The signing system has been rewritten to include a new mode for automatically managing signing assets, in addition to a dedicated manual mode where the profiles for the target must be explicitly selected. When automatically managing signing assets, Xcode will create signing certificates, update app IDs, and create provisioning profiles. For manual mode, only custom created profiles can be selected and Xcode will not modify or create any signing assets. Xcode now encodes profiles in the target using the PROVISIONING_PROFILE_SPECIFIER build setting. This setting allows specifying both the team ID and the name or identifier of the profile.
There are some Signing relate known Issues with Xcode 8.1 you should known.
So maybe we should not set Provisioning Profile in Build Setting tab, switch to General tab , and set in Signing category instead.
If you set provisioning profile in Build Setting and enable Automatically manage signing in General tab Xcode will complain about that.
I also updated to XCode 8 and ran into this as well. Both the Provisioning Profile and Provisioning Profile (Deprecated) were set as blank on my project in XCode 8.
I tried setting them back to what they were for each environment but the Debug environment had all of the options in the dropdown removed.
After creating an Archive and uploading to iTunes Connect I got a notice that the provisioning profile wasn't quite correct, which was working fine prior to XCode 8.
Following what the others have posted about XCode 8 getting an update to its Signing, I went to the general tab and noticed a new section that allows you to have XCode automatically manage the signing. I checked that box and now it looks like this:
I have not uploaded a new Archive to iTunes Connect yet but when I do I'll add an update here to see if it's resolved the Provisioning Profile warning.
After selecting Automatically manage signing in XCode and re-sending to the App Store it's still complaining so that didn't quite work. Might have to remove and re-create all provisioning profiles to get this working. What a pain. Thanks Apple.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With