Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Missing iOS Distribution signing identity

I deleted all my provisioning profiles from my Mac by mistake (Library/Mobile Device/Provisioning Profiles). Now, no matter what I do, Xcode gives me this error:

Missing iOS Distribution signing identity

How can I fix this?

like image 947
Balázs Vincze Avatar asked Feb 14 '16 21:02

Balázs Vincze


People also ask

What is signing identity in iOS?

Signing your app allows iOS to identify who signed your app and to verify that your app hasn't been modified since you signed it. The Signing Identity consists of a public-private key pair that Apple creates for you.

What happens if distribution certificate expires iOS?

If your certificate expires, passes that are already installed on users' devices will continue to function normally. However, you'll no longer be able to sign new passes or send updates to existing passes. If your certificate is revoked, your passes will no longer function properly.


3 Answers

This is the same exact error for an expired Apple cert - though I know it's not your issue, you're the #1 answer on Bing at the moment.

According to the Apple Developer Forums, the Apple Worldwide Developer Relations Intermediate Certificate Expiration expired 2/14/2016.

... This issue stems from having a copy of the expired WWDR Intermediate certificate in both your System and Login keychains. To resolve the issue, you should first download and install the new WWDR intermediate certificate (by double-clicking on the file). Next, in the Keychain Access application, select the System keychain. Make sure to select “Show Expired Certificates” in the View menu and then delete the expired version of the Apple Worldwide Developer Relations Certificate Authority Intermediate certificate (expired on February 14, 2016). Your certificates should now appear as valid in Keychain Access and be available to Xcode for submissions to the App Store.

enter image description here

You can get a new cert (which expires February 7, 2023). The AppleWWDRCA.cer is available on the explanation page: https://developer.apple.com/support/certificates/expiration/

BTW: it appears this new cert is installed with Xcode 7.2.1

like image 168
Paul Sturm Avatar answered Sep 27 '22 22:09

Paul Sturm


Check here: https://forums.developer.apple.com/thread/37208

Download https://developer.apple.com/certificationauthority/AppleWWDRCA.cer and double-click to install to Keychain.

Select "View" -> "Show Expired Certificates" in Keychain app.

Remove Apple Worldwide Developer Relations Certificate Authority certificates from "login" tab and "System" tab in Keychain app.

like image 40
Evana Avatar answered Sep 27 '22 21:09

Evana


Apparently, I was having the same issue as this question, the answer there solved my problem too!! Even though I had my WWDR certificate, re adding to the keychain solved my problem!

EDIT: Before doing this, here is what I did:

  1. Exit xCode

  2. Go to Keychain Access. Delete every certificate which has iOS in it's name. Do the same for keys as well.

  3. Open up finder, press Go and press ALT, this will bring up the option to go to your Library. Click on that, find Mobile Devices -> Provisioning Profiles -> and delete everything from there.

  4. Go to Member Center and revoke every certificate you have, delete all existing provisioning profiles.

  5. Open xCode, open your project and in General select your team, under it you will get a warning and a button which says fix issue, click on that. After it is done, build your app to a real device(not simulator) and exit xCode.

  6. Go to Member Center and go to Certificates, you will see that xCode has created a new one. Download that, and add it to your Keychain Access.

  7. Add WWDR to Keychain Access.

  8. Try archiving, it should work now!

Note: In Build Settings set code signing to automatic.

like image 27
Balázs Vincze Avatar answered Sep 27 '22 21:09

Balázs Vincze