ChatGPT解决这个技术问题 Extra ChatGPT

Certificate has either expired or has been revoked

A while ago I started coding a new iOS app. After a long break from it, I'm working on it again and have it almost complete.

I tested it on the simulator but when I tried to install it on my iPhone 6 (something I have already done in the past), I got an error telling me that my app cannot be installed since the certificate that was used to sign this app expired or has been revoked.

I tried many things:

I deleted all certificates and provisioning profiles from Xcode, keychain, and apple developer and let Xcode create me new ones I deleted Xcode and did the whole process from the beginning

But this didn't fix my issue.

Any idea what might be the problem?

you probably may be a victim of this
no matter what i do i get :The certificate used to sign "My App Name" has either expired or has been revoked. An updated certificate is required to sign and install the application.
do you have correct system date time?

a
auspicious99

Edit: This answer doesn't work for Xcode 10 and higher. See turkenh's answer.

Solution

First of all, clean the project by holding Shift(⇧)+Command(⌘)+K or Select Product > Clean

Then:

Go to Xcode Menu> Preferences Select Accounts > Team > View Details Select any Provisioning profile from the Provisioning Profiles list Right-click > Select Show in Finder. Then you will see all lists of provisioning profiles Select all provisioning lists from the folder and move them to the trash Download All provisioning profiles by clicking Download All below Provisioning Profile lists.

Now, run again and it should work!


Nice to hear that! :)
Yeah.You are right. Xcode's automatic provisioning is the preferred way to code sign apps during both development and distribution. In other words, this is the recommended approach for setting up your projects for both enterprise and App Store developer accounts.Check out the link below for details: developer.apple.com/library/ios/qa/qa1814/_index.html
Life Saver! Thanks!
and I dont have any team/view details
and it's accounts not account
s
shim

For those who cannot find "view details" button at Account > Team > View Details, here is how I solved this on Xcode 10:

Delete all provisioning profiles at ~/Library/MobileDevice/Provisioning\ Profiles/ Clean the project by holding Shift(⇧)+Command(⌘)+K or selecting Product > Clean (it might be labelled "Clean Build Folder") Restart Xcode

and try again.


I has helped me. I am using fastlane and I had to delete all profiles directly from ~/Library/MobileDevice/Provisioning\ Profiles/ Clean the project and reinstall the profiles with fastlane match ...
I switched to using 'Automatic Signing' and I was like this doesn't make sense. After deleting the profiles and restarting stuff it worked. Thanks
It's actually: [ /Users/[YOUR_MAC_USERNAME]/Library/MobileDevice/Provisioning\ Profiles/]
t
turkenh

Edit: This answer doesn't work for Xcode 10 and higher. See turkenh's answer.

I had experienced this problem and was able to find an answer.

The answer which this is coming from can be found here.

Here is what you have to do:

Go to Preferences->Accounts Press on your account Click "View Details" Click "Download All" in the lower left hand corner.

These steps solved the problem for me.


Worked. Thanks Anthony
view details - no such button
b
bshirley

I had a slightly different solution. It may have been from updates, or my particular use case.

Using Xcode 7.3.1

I am using a file sharing system (dropbox) to develop on two different machines. Using the Download All solution didn't fix it for me.

Following the link above, I took the advice of

delete all the profiles in ~/Library/MobileDevice/Provisioning Profiles

(which is an extreme measure, but Xcode should now download what you need)

Xcode prompted to update itself.

I still have an issue when switching between developing on the different machines. It presents the following warning/failure:

This application's application-identifier entitlement does not match that of the installed application. These values must match for an upgrade to be allowed.

The resolution to that issue is to delete the development item off of the device, and it will then reinstall.


m
marceloquinta

A simple "Clean" (Shift(⇧)+Command(⌘)+K) solved to me


I'm a fan of clean and clean build, but I never thought of doing this in this issue! Thank yoiu! :) Please do Command+AltOption+Shift+K to clean your build just to make sure.
This is good (I do it every time) but not enough. Deleting all provisioning profiles at ~/Library/MobileDevice/Provisioning\ Profiles/ worked for me though.
A
Alexander Vasenin

Found another case which results in bloody Certificate has either expired or has been revoked error in Xcode 9. If you're trying to sign with valid certificate but you do have another revoked certificate in the same team on your keychain, Xcode throws this error. To check if you do have revoked certificate see Xcode -> Preferences -> Accounts -> Your Apple ID -> Your Team -> Manage Certificates. Deleting revoked certificate with Keychain Access solves this. Looks like another code sign bug in Xcode.


M
Mykel

Update Xcode 13.2.1 (03/2022): This method still works.

In Xcode 11.3.1, the interface has changed from all the current answers.

Go to the menu "Xcode" > Preferences > Accounts. Select the proper Apple ID on the left for the project. If the profile is still active, click "Manage Certificates." If there are any revoked certificates, right click the revoked certificate(s) and "Delete Certificate." In the attached screenshot, the certificate boxed in red should be deleted.

https://i.stack.imgur.com/wZKey.png

Deleting the latest "Date Created" certificate should refresh your certificate, but deleting all the revoked certificates is recommended.

After deleting the revoked certificate(s), you should be able to rebuild the app.


s
shim

In Xcode 8,

Go to Preferences->Accounts Press on your account Click "View Details" Delete profile which you need Click "Download All" in the lower left hand corner.


This solved it for me, except I had to press "Download All" like 3 times because of random error messages.
u
urvashi koladiya

It's work for me:

Go to Xcode -> Preferences and select Accounts tab. Select Your account & on the bottom right Click on Manage Certificates. You'll see Signing certificate for "User name" manu will pop. Click on the Apple Development from the bottom like below & then press Done Button.

https://i.stack.imgur.com/DGCm6.png


T
Tarun M

-Open Keychain - Check all certificates by selecting it. - Check status if it is valid or not. -If certificate is not valid then right click on it and delete that certificate


R
Richard

A new problem with Xcode 8, what worked for me was to turn off the new "automatically manage signing" checkbox on the General tab for the target, then turn it back on.

This initiates an on-boarding wizard that sets things up correctly for Xcode 8.


This worked for me, but not until I also restarted my Mac, at which point (on starting XCode) a dialog offered me the option of revoking a certificate...I did, then turned on the automatic signing management (which I had unchecked before restarting). +1 for not having to delete any certificates!
M
Mike Taverne

What finally worked for me was to shut down and restart my MacBook, after downloading latest provisioning profiles.


J
Jack Daniel

https://i.stack.imgur.com/4SYVz.png


y
yogevbd

I had this issue and it looked like a bug in xcode's 10.x New build system.

Go to File > Project Settings Change the Build system to use Legacy build system. Deep clean the project by holding Option(⎇)+Shift(⇧)+Command(⌘)+K or holding Option(⎇) and selecting Product > Clean Build Folder Run on a device


A
Alexander Sosnovshchenko

When nor deleting and re-downloading the profiles, nor "Clean" helps I do this:

Preferences> Accounts> Apple IDs> select your acc> select your team> View Details...> reset your signing identity (iOS Development in my case).

This always worked for me.


Is see no "View Details" and no "Reset Your Signing Identity"
@gman, you are right, they have changed the UI again. Now I'm not sure how to do it.
H
Haileapp

1.Change the setting of your Mac Timing to Automatic(Open Date& Time Preferences Check on set the Date and Time Automatically).

2.After that go to your X Code, Clean and Run The Code.

3.If it failed, log out of your Apple Profile and Delete all the Automatically Created Provisioning Profiles in XCode -- Preferences and Move all the Provisioning profiles to trash and download as a new file.Then LogIn again and Run your Code.


o
one eye

If you have a host test target that you run on the device, make sure that it uses the same code signing identity that the app target uses. Otherwise you will have to clean when you switch between testing and debugging the app.

I had this issue in Xcode 11.4.1 when we turned off code signing in our host test target as a build-time enhancement. Once I turned code signing back on for the host test, I no longer experienced this issue when switching between running the host test target and the app!


j
jackyshan

rename your catalog, don't contain Decimal point & 0(zero).

like this, I solve it .


a
auspicious99

Sometime, in Xcode 8 you might find yourself in a revoke-regenerate cycle, where you let Xcode 8 "fix" the certificates and provisioning, then Xcode finds the new/regenerated certificates to be invalid also, and you go back to revoke, and it keeps happening.

In such cases, check your MacOS time! If you have it set to some other time, not the real current time, the new certificate may always "not yet" be valid.


J
Jamil Hasnine Tamim

It's not a big issue i faced. Just clean the project and restart your xcode!! Hope it will be working for you! It's working for me. :)

Or First of all clean the project by holding Shift(⇧)+Command(⌘)+K or Select Product > Clean

Then

Go to XCode Menu> Preference

Select Account > Team > View Details

Select any Provisioning profile from Provisioning Profiles list

Right click > Select Show in Finder. Then you will see all lists of provisioning profiles

Select all provisionaling list from the folder and move it to trash

Download All provisioning profiles by clicking Download All below Provisioning Profile lists.

Now, Run again and it should Work!


m
madx

With Xcode Version 10.1 I solved with these steps:

Go to Xcode, Preferences and select the Accounts tab In the accounts section click on the gear in the bottom left of the window corner and then click on Export Apple ID and Code Signing Assets... exporting this in a file, for example Test.developerprofile Delete the profile that you are using Clicking again on the gear select Import Apple ID and Code Signing Assets... and select your previously exported file Test.developerprofile Now perform a Clean (Shift(⇧)+Command(⌘)+K) and a Build (Command(⌘)+B) Run again


B
Bruno Pontes

I had this issue after changing my Email account.

After trying out so many possible solutions, the only one that worked was the to just delete the certificate that was created in that day from my Apple developer account. (It was not the only certificate in my account) It seems that a new certificate was created automatically and it was conflicting with the main one.


i
iilyasov

Using Xcode 10.3

Follow these steps:

Go to https://developer.apple.com Follow Account > Certificates, Identifiers & Profiles > Devices Find your iPhone from the list and click on it. It will open details page Disable and then Enable it Go to Xcode select your iPhone and Run it

Do not forget to go Settings > General > Device Management to trust the developer account


S
Svitlana

Xcode 11.1 requires generating сertificate from Xcode directly

So you will have smth like this on https://developer.apple.com after

https://i.stack.imgur.com/PhCAi.png


s
shim

Sometimes the "Bundle Identifier" in Xcode is changing due to some things that you made. Make sure the Bundle Identifier you defined in your Apple Developer account is exactly the same as the one in Xcode.


U
Uwe

In case it helps anyone: Xcode 11.x I revoked also (deleted) a certificate in App Developer account. Then I thought I had deleted the certificate too in Keychain access but kept getting error messages, when trying to upload an app update to the AppStore.

I then found out that there are two separate places in keychain access, where in one the certificate is kept (funny enough under keys, once login is selected in keychains) and in the other one the private key (of course under the item certificates in keychains). I made sure that both are deleted and now all is good.


A
Aidan

You can also get this error due to conflicting Apple Worldwide Developer Relations Certification Authority certificates.

What worked for me was to delete all the Apple Worldwide developer certificates (not the ones that show your company name) in both the system and login keychains in the the "KeyChain Access" app. The a restart and rebuild with Xcode (9.2) and the problem went away.


B
Benoit

Go to https://www.apple.com/certificateauthority, download all Worldwide Developer Relations - G# certificates and add them to your Mac Keychain. Restart Xcode and try again.


Y
Yahya Bn

I had this issue and I fixed that.

Go to XCode Menu> Accounts Select Accounts > Team > View Details Select Manage Certificates... and You'll see signing certificates menu will pop. Click on the Apple Development and and press Done button.


b
bewithyou

Update in Xcode 13.2.1,

For me this error cause by I'm using a free apple developer account. So it will be revoked after a specific time not build that app with certificate. But the Xcode is not recognized to rebuild the certificate again -> That's the reason the error happened.

Just do like turkenh's answer but you don't need to restart Xcode. After you clean the certificate will automatically rebuild.