web-dev-qa-db-fra.com

Comment résoudre la «vérification de la signature du code échoué» lors du téléchargement sur iTunes Connect?

J'ai un problème que je n'ai pas pu résoudre avec une recherche approfondie dans différentes ressources car la plupart des "similaires" indiquent une erreur avec la taille Icon.png, etc ...

J'ai essayé de télécharger ma candidature après avoir vérifié que:

  • Construit et s'exécute correctement sur mon appareil
  • Que mes certificats sont installés correctement
  • Que mes certificats/profils ne sont pas expirés.
  • Que le fichier Icon.png a la taille et le format appropriés de 57x57 PNG.
  • Et plusieurs autres choses.
  • Ran codesign --verify -vvvv MyApp.app qui a bien fonctionné.
  • Mon fichier Zip a été correctement fait

Lorsque j'ai essayé de télécharger via l'interface de connexion iTunes, j'ai eu l'erreur simple ci-dessus, et c'est pourquoi j'ai essayé avec ApplicationLoader, pour essayer de trouver la cause de l'erreur en regardant la console.

La console a montré ce qui suit:

16/02/10 13:25:52   ApplicationLoader[549]  *** Codesign error (please ignore invalid option comments): got requirements(0x800000, 534)
Executable=/var/folders/WZ/WZu24JnOGNe9L79GWq0IlU+++TI/-Tmp-/MyApp.Zip/MyApp.app/MyApp
Identifier=com.realtimed.MyApp
Format=bundle with Mach-O thin (armv6)
CodeDirectory v=20100 size=829 flags=0x0(none) hashes=33+5 location=embedded
Signature size=4333
Authority=iPhone Developer: My Name (XXXXXXXXX)
Authority=Apple Worldwide Developer Relations Certification Authority
Authority=Apple Root CA
Signed Time=16/02/2010 13:22:24
Info.plist entries=17
Sealed Resources rules=3 files=28
Internal requirements count=1 size=144

Executable=/var/folders/WZ/WZu24JnOGNe9L79GWq0IlU+++TI/-Tmp-/MyApp.Zip/MyApp.app/MyApp
got entitlements(0x800400, 317)
codesign_wrapper-0.7.3: using Apple CA for profile evaluation
codesign_wrapper-0.7.3: Caling codesign with the following args:
codesign_wrapper-0.7.3:    /usr/bin/codesign
codesign_wrapper-0.7.3:    --verify
codesign_wrapper-0.7.3:    -vvvv
codesign_wrapper-0.7.3:    -R=anchor Apple generic and certificate 1[field.1.2.840.113635.100.6.2.1] exists and certificate leaf[field.1.2.840.113635.100.6.1.4] exists
codesign_wrapper-0.7.3:    --entitlements
codesign_wrapper-0.7.3:    /var/tmp/signingbox/codesign_wrapper_entitlements.plist
codesign_wrapper-0.7.3:    /var/folders/WZ/WZu24JnOGNe9L79GWq0IlU+++TI/-Tmp-/MyApp.Zip/MyApp.app
**/var/folders/WZ/WZu24JnOGNe9L79GWq0IlU+++TI/-Tmp-/MyApp.Zip/MyApp.app: valid on disk
/var/folders/WZ/WZu24JnOGNe9L79GWq0IlU+++TI/-Tmp-/MyApp.Zip/MyApp.app: satisfies its Designated Requirement
test-requirement: failed to satisfy code requirement(s)
codesign_wrapper-0.7.3: failed to execute codesign(1)**

Toute aide/rétroaction ou idée sur la façon de résoudre la situation serait très appréciée.

31
Cy.

J'ai trouvé la solution à ce problème après avoir examiné en profondeur le fichier journal.

Bien que j'ai créé mon propre profil de distribution et affecté à l'IDENTITÉ DE SIGNATURE DE CODE la valeur correcte pour le certificat de développeur, cela n'a pas fonctionné en me donnant une erreur: "Échec de la vérification de la signature du code d'application".

Le problème se situe sur la ligne suivante:

Autorité = développeur iPhone: mon nom (XXXXXXXXX)

Malgré la sélection correcte dans les paramètres du projet pour le profil de distribution, XCode le compilait avec le certificat de développeur.

Je l'ai finalement résolu: Faites un clic droit sur "Cibles" -> Obtenir des informations -> et là, il a été sélectionné (ne me demandez pas pourquoi) le mauvais certificat de distribution au lieu du bon.

J'ai corrigé cela et cela a finalement été accepté.

Liens connexes (vous avez besoin d'un compte développeur): https://devforums.Apple.com/message/147964

42
Cy.

Excellent poste. Moi aussi, j'ai eu ce problème et après beaucoup de maux de tête, j'ai réalisé que le projet ET la cible devaient être vérifiés pour utiliser la bonne identité de signature de code. D'une manière ou d'une autre, Xcode revenait au profil de provisionnement de développeur au lieu du profil de provisionnement Distribution. Il l'a même fait sur un build juste après avoir délibérément choisi le bon!

I. Pour être en sécurité, procédez d'abord comme suit:

  1. Nettoyez toutes les versions.
  2. Supprimez le contenu du dossier de construction dans le Finder.
  3. Supprimez les identités de signature de code existantes du projet et des paramètres cibles.
  4. Redémarrez Xcode.

II. Vérifiez ensuite le projet pour le profil d'approvisionnement approprié:

  1. Aller à Project Settings > Build Tab > Code Signing Identity
  2. Sélectionnez le profil d'approvisionnement de distribution approprié

III. Vérifiez maintenant la cible:

  1. Target > Get Info > Build Tab > Code Signing Identity
  2. Sélectionnez le profil d'approvisionnement de distribution approprié

IV. Croisez les doigts et espérez que vous ne reverrez plus jamais ce petit triangle jaune foudroyé.

10
Old McStopher

Cy a adopté la bonne approche pour résoudre ce problème - Quand "La vérification de la signature du code a échoué" est un avertissement de build, développez cet élément dans le journal de build et recherchez cause première échec de la vérification de signature.

Dans le cas du message d'origine de Cy., Vous verrez que le problème racine était "exigence de test: échec de la satisfaction des exigences de code", et d'après mon expérience, cela est presque toujours dû à la signature avec le mauvais certificat, c'est-à-dire un profil de développeur iPhone au lieu de la distribution iPhone.

La cause première n'est pas toujours une explication évidente, mais devrait vous guider au moins avec des termes de recherche supplémentaires ou des idées de dépannage.

Pour ceux qui connaissent "La vérification de la signature du code a échoué" lors de la validation ou de la soumission d'archives Xcode, consultez le journal de génération dans Product> Archive time pour un avertissement de génération du même titre et développez-le pour la cause racine. Jetez ensuite un œil à la liste complète des causes potentielles de cette erreur d'Apple à l'URL suivante "Comment résoudre l'erreur: échec de la vérification de la signature du code?"

5
Bobjt

Vérifiez que la CIBLE (et pas seulement le projet) est configurée avec l'identité de signature de code correcte pour la publication

1
Lucas