Question

Avant de passer à iPhone OS 3.1 et Xcode 3.2, je disposais d'un environnement de construction entièrement opérationnel. Maintenant, lorsque j'essaye de faire une compilation, j'obtiens le texte suivant:

  

Erreur de signature de code: le profil d'approvisionnement 'Test FooApp' spécifie l'identificateur d'application 'no.fooapp.iphoneapp' qui ne correspond pas au paramètre actuel 'TGECMYZ3VK.no.fooapp.iphoneapp'

Le problème est que Xcode parvient à penser que le " Test FooApp " Le profil d'approvisionnement spécifie l'identificateur d'application "no.fooapp.iphoneapp", mais ce n'est pas le cas.

Dans l'Organiseur (et sur le site Web du portail pour développeurs iPhone), l'identifiant de l'application est correctement considéré comme "TGECMYZ3VK.no.fooapp.iphoneapp".

De même, lors de la définition du profil d'approvisionnement dans les options de construction au niveau du projet, Xcode identifie correctement l'identificateur d'application, mais lorsque je vais à la cible, je ne peux pas sélectionner de profil d'approvisionnement valide.

Quelle pourrait être la cause de ce problème?

Mise à jour: j'ai essayé de créer un nouveau profil d'approvisionnement, mais toujours pas de chance. J'ai également essayé simplement de changer l'application identifiée dans Info.plist en "no.fooapp.iphoneapp". La construction a réussi, mais un message d'erreur de l'organisateur s'affiche:

  

L'exécutable a été signé avec des droits non valides. Les droits spécifiés dans le fichier Droits de signature de code de votre application ne correspondent pas à ceux spécifiés dans votre profil d'approvisionnement. (0xE8008016).

Cela semble raisonnable, car le profil de provisioning a toujours le "TGECMYZ3VK.no.fooapp.iphoneapp". identifiant d'application.

J'ai également vérifié que tous les certificats étaient valables dans le trousseau.

Ma question est donc de savoir comment obtenir de Xcode l'identifiant correct de l'application?

UPDATE: Comme indiqué ci-dessous, ce qui semble résoudre le problème semble être la suppression de tous les profils d'approvisionnement, certificats, etc., la création de nouveaux certificats / profils et leur réinstallation. Si quelqu'un a d'autres solutions, il serait le bienvenu. :)

Était-ce utile?

La solution 2

Eh bien, comme cela semble être le cas pour beaucoup de problèmes de signature de code, la suppression de tous les profils de provisionnement, certificats, etc., ainsi que la révocation et la génération de tous les éléments à nouveau ont été efficaces. J'ai même créé un nouvel identifiant de bundle, un identifiant d'application, etc., et la distribution AdHoc fonctionne à nouveau.

Autres conseils

Je devais supprimer manuellement les profils de provisioning de mon téléphone, puis reconstruire les applications après avoir effectué une opération "Nettoyer toutes les cibles". dans le menu de construction.

C'est sous Paramètres - > Général - > Profils

Cela m'est arrivé quand j'ai eu un nouveau Mac. Vous allez le réparer, ne vous inquiétez pas

J'ai eu la même erreur hier. J'ai essayé toutes les diverses procédures de réinitialisation dans les autres réponses sans succès. Finalement, je aussi

  • redémarre mon mac
  • redémarré mon iPhone
  • a supprimé tous les profils de provisioning de mon iphone du téléphone à l'aide de XCode
  • a supprimé tous les profils de mon Mac (~ / Library / MobileDevice / Profils de provisioning pour moi)
  • quoi d'autre? Supprimez le dossier de construction, redémarrez le XCode, installez la mise à jour vers 3.1.2 sdk, sacrifiez un poulet.

Et voilà, ça fonctionne maintenant, l'erreur est partie. C'est un territoire vaudou sérieux.

Assurez-vous également que vous avez ajouté une référence au nom du fichier de droits d’entité " dist.plist " dans votre configuration de projet CODE_SIGN_ENTITLEMENTS.

Vérifiez les droits de signature de code dans les informations pour la cible de construction et l'application principale - si les droits de signature de code sont indiqués, supprimez-les, puis supprimez-les

Dans XCode, dans les groupes & amp; Fichiers " volet, développez " Cibles " et double-cliquez sur la cible de votre application.

Ceci fera apparaître la sous-fenêtre d’informations pour votre cible. Dans le " Construire " section, cochez la case "Signature du code". section pour tous les anciens profils. Cela m'est souvent arrivé à la suite d'une mise à niveau vers une nouvelle version du sdk et de l'iPhone OS

Quick Hack si vous êtes sur Xcode 4.3.

Dans Xcode sous Paramètres du projet > MyTarget > Onglet Résumé Tout en bas, une case à cocher indiquant "Activer les droits" est cochée. Lorsque je l'ai décochée, l'erreur a disparu.

Inside Resources / Entitlements.plist contient un booléen "get-task-allow". si ce n'est pas coché, cochez-le. Cela a résolu le problème pour moi.

Après avoir été perturbé par cela pendant un bon moment, j'ai revu les paramètres et découvert que j'avais inversé les entrées "Code Signing Identity" et "Any iPhone OS Device". - L’indice que j’avais sur cet événement a été montré par.

  1. Suppression de chaque profil du téléphone
  2. Construire et partir

À ce stade, xcode tente de provisionner le téléphone (périphérique)

  1. Examinez le téléphone pour voir quel profil d'approvisionnement a été ajouté.

Alors que je préfixais tous mes profils "AdHoc", "Développement" ou "AppStore", j'ai immédiatement constaté que le processus d'installation mettait un profil de développement sur le périphérique et non un profil AdHoc.

Le périphérique peut ne pas être dans la liste. Essayez de modifier votre profil de provisioning.

Juste pour ajouter une note ici: j'ai rencontré la même erreur (0xE8008016) après avoir remplacé la carte logique de mon Macbook (bien que j'imagine que vous auriez le même problème sur un tout nouveau Mac), et après des heures à tourner en rond Je me suis rendu compte que le portail du programme pour développeurs iPhone comportait des certificats distincts pour le développement et la distribution .

Un changement de matériel signifie que vous devez réémettre les deux certificats. J'avais réémis Developer, mais pas Distribution. Parce que mon nom n'avait pas changé depuis mon matériel (et que les certificats sont identifiés par le nom du propriétaire), le problème était difficile à détecter;) J'espère que cela évitera à quelqu'un d'autre ma frustration.

À titre d'information, j'ai rencontré le même problème et j'ai supprimé tous mes profils, certs existants et tout ce qui se trouvait sur mon disque dur local et sur le portail de développeur. Il m'a semblé que supprimer mes appareils existants et les rajouter (portail de développeur) le truc.

Le problème réside dans le fichier "project.pbxproj". fichier situé dans le fichier [votre projet] .xcodeproject. Si vous vous sentez courageux, cliquez avec le bouton droit sur le projet .xcode et affichez son contenu, puis ouvrez le fichier "project.pbxproj". avec un éditeur de texte de plan. À l'intérieur, recherchez le chemin offensif et corrigez-le. Dans mon cas, j'ai simplement supprimé l'intégralité du chemin d'accès et laissé "& Entendlements.plist". et ça a effacé mes problèmes. Je vous recommande fortement de sauvegarder votre projet .xcode avant de tenter ceci.

Double-cliquez sur la cible, puis sélectionnez les "Propriétés". languette. Il change le com.votre entreprise. $ {...} .

Une autre cause est si le périphérique sur lequel vous souhaitez installer n'est pas un périphérique approuvé dans le certificat de distribution.

Parfois, Xcode ne copie pas automatiquement votre profil de provisioning au bon endroit. Dans mon cas, c'était vrai.

Vérifiez que votre profil de provisionnement se trouve dans le répertoire ~ / Library / MobileDevice / Profils de provisionnement et, dans le cas contraire, effectuez un glisser-déposer, un nettoyage et une construction

.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top