Xcode 8 - Provisioning Profile vs. Provisioning Pr

2019-01-17 09:38发布

问题:

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?

回答1:

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)


  • Why is one deprecated?

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.

  • What is the difference between the two?



回答2:

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.

UPDATE:

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.



回答3:

In Provisioning Profile (Deprecated) description, information is The UUID of a valid provisioning profile. A missing or invalid profile will cause a build error (deprecated, use [PROVISIONING_PROFILE_SPECIFIER] instead).

I found the link https://possiblemobile.com/2016/06/code-signing-xcode-8/.



回答4:

Please follow these steps

  1. Select project TARGET and go to GENERAL tab

  1. Under Signing check the option Automatically manage signing

Hope that helps !