Le certificat a expiré ou a été révoqué


159

Il y a quelque temps, j'ai commencé à coder une nouvelle application iOS, après une longue pause, je travaille à nouveau dessus et je l'ai presque terminée.

Je le teste sur le simulateur mais lorsque j'ai essayé de l'installer sur mon iphone 6 (ce que j'ai déjà fait dans le passé), j'ai eu une erreur m'indiquant que mon application ne peut pas être installée car le certificat qui a été utilisé pour signer cette application a expiré ou a été révoqué.

J'ai essayé beaucoup de choses:

  1. J'ai supprimé tous les certificats et profils de provisioninig de xcode, keychain et Apple developer et j'ai laissé xcode m'en créer de nouveaux
  2. J'ai supprimé xcode et fait tout le processus depuis le début

Mais cela n'a pas résolu mon problème.

Une idée de quel pourrait être le problème?


2
vous pouvez probablement être victime de cette
heximal

après avoir résolu le problème, vous n'avez toujours pas eu de chance
user6218736

1
peu importe ce que j'obtiens: le certificat utilisé pour signer «mon nom d'application» a expiré ou a été révoqué. Un certificat mis à jour est requis pour signer et installer l'application.
user6218736

1
avez-vous une date système correcte?
heximal

Je viens de supprimer mon compte Apple de Xcode et également de supprimer les clés de Keychain et de les ajouter à nouveau, Travaillez comme un Magic. Cependant, j'ai essayé la plupart du temps d'autres étapes mais cela n'a pas fonctionné pour moi.
Ravi

Réponses:


279

Edit: Cette réponse ne fonctionne pas pour Xcode 10 et supérieur. Voir la réponse de turkenh.


Solution

Tout d'abord, nettoyez le projet en maintenant Maj (⇧) + Commande (⌘) + K ou Sélectionnez Produit > Nettoyer

Ensuite:

  1. Allez dans Xcode Menu > Préférences

  2. Sélectionnez Comptes > Équipe > Afficher les détails

  3. Sélectionnez un profil d'approvisionnement dans la liste des profils d'approvisionnement

  4. Faites un clic droit> Sélectionnez Afficher dans le Finder . Ensuite, vous verrez toutes les listes de profils d'approvisionnement

  5. Sélectionnez toute la liste d'approvisionnement du dossier et placez-la dans la corbeille

  6. Téléchargez tous les profils d'approvisionnement en cliquant sur Télécharger tout sous les listes de profils d'approvisionnement.

Maintenant, exécutez à nouveau et cela devrait fonctionner!


2
Ravi d'entendre ça! :)
Md.Riduanul Islam

2
Oui tu as raison. Le provisionnement automatique de Xcode est le moyen préféré pour coder les applications pendant le développement et la distribution. En d'autres termes, il s'agit de l'approche recommandée pour la configuration de vos projets pour les comptes de développeur d'entreprise et de l'App Store. Consultez le lien ci-dessous pour plus de détails: developer.apple.com/library/ios/qa/qa1814/_index.html
Md .Riduanul Islam

2
Life Saver! Merci!
Joel

7
et je n'ai aucune équipe / voir les détails
user924

2
and it's accounts not account
user924

80

Edit: Cette réponse ne fonctionne pas pour Xcode 10 et supérieur. Voir la réponse de turkenh.


J'avais rencontré ce problème et j'ai pu trouver une réponse.

La réponse dont cela vient peut être trouvée ici .

Voici ce que vous devez faire:

  1. Allez dans Préférences-> Comptes
  2. Appuyez sur votre compte
  3. Cliquez sur "Afficher les détails"
  4. Cliquez sur "Tout télécharger" dans le coin inférieur gauche.

Ces étapes ont résolu le problème pour moi.


1
Travaillé. Merci Anthony
GMHSJ

7
voir les détails - aucun bouton de ce type
user924

55

Pour ceux qui ne trouvent pas le bouton «Afficher les détails» dans Compte> Équipe> Afficher les détails , voici comment j'ai résolu ce problème sur Xcode 10 :

  1. Supprimez tous les profils d'approvisionnement dans ~ / Library / MobileDevice / Provisioning \ Profiles /
  2. Nettoyez le projet en maintenant Shift (⇧) + Commande (⌘) + K ou en sélectionnant Produit> Nettoyer (il peut être intitulé "Nettoyer le dossier de construction" )
  3. Redémarrez Xcode

et essayez à nouveau.


1
Je m’ai aidé. J'utilise fastlane et j'ai dû supprimer tous les profils directement de ~ / Library / MobileDevice / Provisioning \ Profiles / Nettoyer le projet et réinstaller les profils avec Fastlane Match ...
Vladimír Slavík

1
Pour moi sur Xcode 11, il suffit de l'étape 2 à chaque fois avant d'exécuter l'application
Tahan

Vraiment très utile. Merci mon pote!
Harsh Chaurasia le

34

J'avais une solution légèrement différente. Cela peut provenir de mises à jour ou de mon cas d'utilisation particulier.

Utilisation de Xcode 7.3.1

J'utilise un système de partage de fichiers (dropbox) pour développer sur deux machines différentes. En utilisant leDownload All solution ne l'a pas résolu pour moi.

En suivant le lien ci-dessus, j'ai suivi les conseils de

supprimer tous les profils dans ~ / Library / MobileDevice / Provisioning Profiles

(ce qui est une mesure extrême, mais Xcode devrait maintenant télécharger ce dont vous avez besoin)

Xcode a été invité à se mettre à jour.

J'ai toujours un problème lors de la commutation entre le développement sur les différentes machines. Il présente l'avertissement / l'échec suivant:

Le droit d'identifiant d'application de cette application ne correspond pas à celui de l'application installée. Ces valeurs doivent correspondre pour qu'une mise à niveau soit autorisée.

La résolution de ce problème consiste à supprimer l'élément de développement de l'appareil, puis à réinstaller.


Cela a fonctionné pour moi. Aucun profil d'approvisionnement n'apparaissait dans XCode, je ne pouvais donc pas les supprimer de là.
henrikmerlander

Qu'arrive-t-il aux certificats supprimés? Serais-je toujours en mesure d'exécuter ces projets? (cela a fonctionné pour moi même si j'ai ces questions)
Gel

@gel les certificats supprimés doivent être rechargés par Xcode lorsque vous en avez besoin
bshirley

25

Un simple "Clean" ( Shift (⇧) + Command (⌘) + K ) m'a résolu


Je suis fan de construction propre et propre, mais je n'ai jamais pensé faire cela dans ce numéro! Merci! :) Veuillez faire Commande + AltOption + Maj + K pour nettoyer votre build juste pour être sûr.
Glenn

C'est bien (je le fais à chaque fois) mais pas assez. La suppression de tous les profils d'approvisionnement dans ~ / Library / MobileDevice / Provisioning \ Profiles / a fonctionné pour moi.
Raphael Pinel

11

Trouvé un autre cas qui entraîne une Certificate has either expired or has been revokederreur sanglante Xcode 9. Si vous essayez de signer avec un certificat valide mais que vous avez un autre certificat révoqué dans la même équipe sur votre trousseau, Xcode renvoie cette erreur. Pour vérifier si vous avez révoqué le certificat, voir Xcode -> Preferences -> Accounts -> Your Apple ID -> Your Team -> Manage Certificates. La suppression du certificat révoqué avec Keychain Accessrésout ce problème. On dirait un autre bogue de signe de code dans Xcode.


C'est celui qui fonctionne pour moi. J'ai trouvé la solution moi-même, mais je suis content qu'elle soit déjà partagée
Gee.E

3

Dans Xcode 8,

  1. Allez dans Préférences-> Comptes
  2. Appuyez sur votre compte
  3. Cliquez sur "Afficher les détails"
  4. Supprimer le profil dont vous avez besoin
  5. Cliquez sur "Tout télécharger" dans le coin inférieur gauche.

Cela a résolu le problème pour moi, sauf que j'ai dû appuyer sur "Télécharger tout" comme 3 fois à cause de messages d'erreur aléatoires.
sudo

2

-Open Keychain - Vérifiez tous les certificats en le sélectionnant. - Vérifiez l'état s'il est valide ou non. -Si le certificat n'est pas valide, cliquez dessus avec le bouton droit de la souris et supprimez ce certificat


2

Un nouveau problème avec Xcode 8, ce qui a fonctionné pour moi était de désactiver la nouvelle case à cocher "Gérer automatiquement la signature" dans l'onglet Général de la cible, puis de la réactiver.

Cela lance un assistant d'intégration qui configure correctement les choses pour Xcode 8.


Cela a fonctionné pour moi, mais pas avant d'avoir également redémarré mon Mac, à quel point (au démarrage de XCode) une boîte de dialogue m'a offert la possibilité de révoquer un certificat ... je l'ai fait, puis j'ai activé la gestion de la signature automatique (que j'avais décochée avant de redémarrer). +1 pour ne pas avoir à supprimer de certificats!
kwishnu

2

Ce qui a finalement fonctionné pour moi, c'était d'arrêter et de redémarrer mon MacBook, après avoir téléchargé les derniers profils d'approvisionnement.


Fonctionne aussi pour moi. Mais je me demande quel est le problème réel.
umairhhhs

2

Je viens de décocher "Gérer automatiquement la signature et de le vérifier à nouveau en sélectionnant l'équipe et cela a fonctionné pour moi entrez la description de l'image ici


2

J'ai eu ce problème et cela ressemblait à un bogue dans le système 10.x New build de xcode .

  1. Allez dans Fichier> Paramètres du projet Modifiez le système de construction à utiliser Legacy build system.

  2. Nettoyez en profondeur le projet en maintenant Option (⎇) + Maj (⇧) + Commande (⌘) + K ou en maintenant Option (⎇) et en sélectionnant Produit> Nettoyer le dossier de construction

  3. Exécuter sur un appareil


2

Dans Xcode 11 .3.1, l'interface a changé de toutes les réponses actuelles.

  1. Allez dans le menu "Xcode"> Préférences> Comptes.
  2. Sélectionnez le bon identifiant Apple sur la gauche pour le projet.
  3. Si le profil est toujours actif, cliquez sur "Gérer les certificats".
  4. S'il y a des certificats révoqués, cliquez avec le bouton droit sur le (s) certificat (s) révoqué (s) et «Supprimer le certificat». Dans la capture d'écran ci-jointe, le certificat encadré en rouge doit être supprimé.

Capture d'écran du certificat révoqué

La suppression du dernier certificat «Date de création» devrait actualiser votre certificat, mais la suppression de tous les certificats révoqués est recommandée.

Après avoir supprimé le (s) certificat (s) révoqué (s), vous devriez pouvoir reconstruire l'application.


1

Après tout, nettoyer et reconstruire est également un facteur.


1

Lorsque ni la suppression ni le téléchargement des profils, ni "Clean" ne m'aide à le faire:

Préférences> Comptes> Identifiants Apple> sélectionnez votre acc > sélectionnez votre équipe > Afficher les détails ...> réinitialisez votre identité de signature (développement iOS dans mon cas).

Cela a toujours fonctionné pour moi.


peut confirmer que cela a fonctionné pour moi lorsque toutes les autres réponses / solutions ont échoué, en plus j'ai également téléchargé tous les profils
hajn

3
Il n'y a pas de "Afficher les détails" ni de "Réinitialiser votre identité de signature"
gman

@gman, vous avez raison, ils ont à nouveau changé l'interface utilisateur. Maintenant, je ne sais pas comment le faire.
Alexander Sosnovshchenko

1

1.Changez le paramètre de synchronisation de votre Mac sur Automatique (ouvrez les préférences de date et d'heure Vérifiez sur définir la date et l'heure automatiquement).

2.Après cela, accédez à votre code X, nettoyez et exécutez le code.

En cas d'échec, déconnectez-vous de votre profil Apple et supprimez tous les profils de provisionnement créés automatiquement dans XCode - Préférences et déplacez tous les profils de provisionnement vers la corbeille et téléchargez-les en tant que nouveau fichier, puis connectez-vous à nouveau et exécutez votre code.


1

Si vous disposez d'une cible de test d'hôte que vous exécutez sur l'appareil, assurez-vous qu'elle utilise la même identité de signature de code que celle utilisée par la cible d'application. Sinon, vous devrez nettoyer lorsque vous basculerez entre le test et le débogage de l'application.

J'ai eu ce problème dans Xcode 11.4.1 lorsque nous avons désactivé la signature de code dans notre cible de test d'hôte en tant qu'amélioration au moment de la construction. Une fois que j'ai réactivé la signature du code pour le test d'hôte, je n'ai plus rencontré ce problème lors du basculement entre l'exécution de la cible de test d'hôte et l'application!


0

renommez votre catalogue, ne contient pas de point décimal & 0 (zéro).

comme ça, je le résous.


0

Aucune des solutions fournies jusqu'à présent n'a fonctionné (bien qu'elles soient toutes correctes) et la suppression du projet Xcode du disque et le re-clonage du dépôt l'ont résolu pour moi.


0

Parfois, dans Xcode 8, vous pourriez vous retrouver dans un cycle de révocation-régénération, où vous laissez Xcode 8 "réparer" les certificats et l'approvisionnement, puis Xcode trouve que les certificats nouveaux / régénérés sont également invalides, et vous revenez pour révoquer, et cela continue de se produire.

Dans de tels cas, vérifiez l'heure de votre MacOS! Si vous l'avez réglé à une autre heure, pas à l'heure actuelle, le nouveau certificat peut toujours «pas encore» être valide.


0

Ce n'est pas un gros problème auquel j'ai été confronté. Nettoyez simplement le projet et redémarrez votre xcode !! J'espère que cela fonctionnera pour vous! Ça marche pour moi. :)

Ou Tout d'abord nettoyez le projet en maintenant Shift (⇧) + Commande (⌘) + K ou Sélectionnez Produit> Nettoyer

ensuite

Accédez au menu XCode> Préférences

Sélectionnez Compte> Équipe> Afficher les détails

Sélectionnez un profil d'approvisionnement dans la liste des profils d'approvisionnement

Faites un clic droit > Sélectionnez Afficher dans le Finder . Ensuite, vous verrez toutes les listes de profils d'approvisionnement

Sélectionnez toute la liste provisoire dans le dossier et déplacez-la vers la corbeille

Téléchargez tous les profils d'approvisionnement en cliquant sur Tout télécharger sous les listes de profils d'approvisionnement.

Maintenant, exécutez à nouveau et cela devrait fonctionner!


0

Avec Xcode Version 10.1j'ai résolu avec ces étapes:

  1. Aller à Xcode, Preferencespuis sélectionnez l' Accountsonglet
  2. Dans la section des comptes, cliquez sur l'engrenage en bas à gauche du coin de la fenêtre puis cliquez sur l' Export Apple ID and Code Signing Assets...exporter dans un fichier, par exempleTest.developerprofile
  3. Supprimer le profil que vous utilisez
  4. En cliquant à nouveau sur l'engrenage, sélectionnez Import Apple ID and Code Signing Assets...et sélectionnez votre fichier précédemment exportéTest.developerprofile
  5. Maintenant, effectuez un Clean( Maj (⇧) + Commande (⌘) + K ) et un Build( Commande (⌘) + B )
  6. Courez à nouveau

0

J'ai eu ce problème après avoir changé mon compte de messagerie.

Après avoir essayé autant de solutions possibles, la seule qui a fonctionné était de supprimer simplement le certificat créé ce jour-là de mon compte de développeur Apple . (Ce n'était pas le seul certificat de mon compte) Il semble qu'un nouveau certificat a été créé automatiquement et qu'il était en conflit avec le principal.


0

J'ai le même problème. J'ai résolu après avoir nettoyé le projet (Shift (⇧) + Commande (⌘) + K), quitter Xcode et rouvrir.


0

Utilisation de Xcode 10.3

Suivez ces étapes:

  1. Aller à https://developer.apple.com
  2. Suivez Account>Certificates, Identifiers & Profiles >Devices
  3. Trouvez votre iPhone dans la liste et cliquez dessus. Cela ouvrira la page de détails
  4. Désactiver puis activer
  5. Allez Xcodesélectionner votre iPhone et lancez-le

Ne pas oublier d'aller Settings> General> Device Managementfaire confiance au compte développeur



0

Parfois, l '«identificateur de bundle» dans Xcode change en raison de certaines choses que vous avez faites. Assurez-vous que l'identifiant de bundle que vous avez défini dans votre compte de développeur Apple est exactement le même que celui de Xcode.


0

Au cas où cela aiderait quelqu'un: Xcode 11.x J'ai également révoqué (supprimé) un certificat dans le compte App Developer. Ensuite, j'ai pensé que j'avais également supprimé le certificat dans l'accès au trousseau, mais j'ai continué à recevoir des messages d'erreur lorsque j'essayais de télécharger une mise à jour d'application sur l'AppStore.

J'ai alors découvert qu'il y avait deux endroits distincts dans l'accès au trousseau, où dans l'un le certificat est conservé (assez drôle sous les clés, une fois la connexion sélectionnée dans les trousseaux) et dans l'autre la clé privée (bien sûr sous les certificats d'article dans porte-clés). Je me suis assuré que les deux sont supprimés et que maintenant tout va bien.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.