Xcode 8 shows error that provisioning profile doesn’t include signing certificate.
This issue is with Xcode-8 only with Xcode 7, same provisioning profile showing related identified certificate.
Check your keychain for identities that are missing a private key. I had multiple distribution certificates installed for the same team, one of which was missing the private key. Xcode was only checking the first matching identity in the keychain and automatically using this as opposed to the one that did include the private key.
Removing the matching identity that didn’t have a private key made Xcode detect the correct identity again.
To fix this,
I just enable the “Automatic manage signing” at project settings general tab, Before enabling that i was afraid that it may have some side effects but once i enable that works for me.
I unchecked and then checked the “Automatically manage signing” option. That fixed it for me.
There are many ways to fix this, like enabling automatic signing etc. But if you want to understand the reason for this error you need to look at the error message.
It says that the provisioning profile you have selected in the “General tab”, does not contain the signing certificate you selected in the “Build settings” -> “Code Signing Identity”.
Usually this happens if a distribution certificate has been selected for the debug identity under “Build settings” -> “Code Signing Identity”.
If this happens under “Signing (Debug)” it might also be that the “Signing Identity” -> “iOS Development” is not included in the provisioning profile.
For what it’s worth automatic signing failed every time until I just manually deleted local profiles in:
After that automatic signing worked perfectly and it got the right profiles from Apple’s servers.
This was affecting only some builds, notably the ones for which I had manually created profiles for watch app.
For those who still struggle with this problem in Xcode8. For me was a duplicate Certificate problem, this is how I solved it:
I read the answer of Nick and then I began my investigation. I checked all the keys and Certificates in my particular case (inside ~/Library/KeyChains/System.keychain).
When I opened the file, I found that I had two iPhone Distribution Certificates (that was the certificate that Xcode was requesting me), one with the iOS Distribution private key that I have been using since the beginning, and another iPhone Distribution Certificate which its private Key had a name (iOS Distribution:NAME) that wasn´t familiar for me. I deleted this last certificate, started Xcode again and the problem was gone. xCode wasn´t able to resolve that conflict and that´s why it was giving signing certificate error all the time.
Check your keychains, maybe you have a duplicate certificate.
For those who should keep using not auotamatic for some reason
Open keyChain Access to see whether there are two same Certifications ,If there’s two or more,Just Delete to one and it will work 🙂
You may also solve code signing issues with great Fastlane toolkit. Authors put a lot of effort to effectively automate building, signing iOS apps (and more).
So in the mentioned suite, there is tool
sigh which magically resolves any signing issues, hence the name 🙂 Nice thing here is, that this tool encapsulates a knowledge about common signing issues and can detect and resolve most of them.
Fastlane is installed as Ruby gem:
gem install fastlane
And then simply invoked:
fastlane sigh --development
Answer two questions, and voila:
[11:56:55]: No existing profiles found, that match the certificates you have installed locally! Creating a new provisioning profile for you [11:57:01]: Creating new provisioning profile for 'com.myapp' with name 'com.myapp Development' [11:57:06]: Downloading provisioning profile... [11:57:09]: Successfully downloaded provisioning profile... [11:57:09]: Installing provisioning profile...
Finally, go to Build Settings -> Signing, and switch to newly created provisioning profile, whose name you just saw in the command output.
This example is for development code signing problem (running on the device). Check sigh documentation for all other options.
“Enable automatic signing” and then selecting a team from the drop-down menu helped me with this exact problem.
- Delete the developer certificate that does not have a private key.
- Delete the provisioning profile from your machine using go to folder (~/Library/MobileDevice/Provisioning Profiles)
- Then first check then uncheck the Automatically manage signing option in the project settings with selecting team.
- Sing in Apple developer account and edit the provisioning profile selecting all available developer certificates then download and add to XCODE.
- Select the provisioning profile and code signing identity in project build settings
For me, None of the above solutions worked. I was migrating from two older mac’s to a new mac, trying to get release/debug profiles working on Xcode WITHOUT Xcode auto managing them.
The solution for me was that when I went and created the two new Certificates, i ALSO had to go into my provisioning profiles, and add (under both the distribution and dev) the new certificates to the provisioning profiles so recognized them. After doing this & downloading, xcode removed all errors and it is good to go.
Hope this helps someone!
Clicking but then cancelling “Enable Automatic Signing” worked for me, although the actual change it made was:
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
or in Xcode it’s called
Always Embed Swift Standard Libraries
I had the same issue and reason was penny. Wrong profile and certificate was selected in build settings. I only had did this before few days. So, you do not need to enable “automatic” inside xcode. Check profiles inside your build settings before doing it.
Try downloading the certificates/profiles directly from the member centre rather than doing it from Xcode.
It worked for me when I manually downloaded them from the member centre.
I was struggling with it for many days.
Deleted every certificates, provisioning profile, appID,Key etc from developer account.
Recreated the push notification certificates, provisioning profile, app ID etc.
Deleted all the certificates from keychain.
Cleared all the provisioning profile from ~/Library/MobileDevice/Provisioning Profiles.
Added only the required provisioning file and tested out. It works fine.