Cela peut être quelque peu une approche empirique, mais cela en vaut la peine face à de nombreux commentateurs notant soit "cela a fonctionné pour moi" ou "cela n'a pas fonctionné pour moi". Premièrement, le problème peut résider dans un certain nombre d'emplacements, soit vos certificats (identités de signature de code), soit vos profils d'approvisionnement. Identifier d'abord où se situe le problème avant de faire quoi que ce soit permettra d'économiser beaucoup d'efforts inutiles. Vous devrez vous enregistrer à trois endroits:
- XCode
- Accès au trousseau
- Le portail des développeurs (Centre des membres développeurs)
OK, dans XCode, cliquez sur le projet (au-dessus de l'en-tête des cibles), sélectionnez Paramètres de construction et faites défiler jusqu'à «Signature du code». Développez l'en-tête 'CODE_SIGNING_IDENTITY' et vous verrez un tas d'identités (Debug, Release, etc.) Chacune d'entre elles correspondra à un certificat dans Keychain Access. Trouvez la correspondance et vérifiez la date d'expiration ... si elle a expiré, vous devrez la mettre à jour dans le portail des développeurs et la télécharger. Vérifiez CHAQUE identité, pas seulement la première que vous trouvez qui a expiré. En outre, s'il a expiré, vous devrez régénérer tout profil de provisionnement qui a utilisé le certificat expiré. Si aucun problème avec les certificats, vérifiez la date d'expiration de tous les profils d'approvisionnement. Encore une fois, s'ils ont expiré, ils devront être régénérés.
Une fois terminé, répétez le même processus pour la cible que vous essayez de construire.
Rien de tout cela n'a fonctionné? Un certificat expiré se cache dans l'un de vos profils d'approvisionnement. Un signe que cela pourrait être le cas est que lorsque vous cliquez sur un CODE_SIGNING_IDENTITY, l'identité est sous Autre ... par exemple.
C'est généralement un signe certain qu'un certificat expiré se cache et que l'un de vos profils l'utilise.