63 votes

L'exécutable a été signé avec des droits non valides

J'ai un problème avec la distribution ad-hoc sur mon iPhone. J'ai développé une application avec le SDK 3.0. J'ai une licence de développeur. J'ai ajouté des certificats et des profils de provisionnement dans mon projet. Il n'y a donc aucun problème.

Mais, lorsque j'essaie d'installer l'application sur mon iPhone, elle compile le projet et affiche ensuite l'erreur : "The executable was signed with invalid entitlements" dans la fenêtre de l'Organisateur. Est-ce que quelque chose m'échappe ? J'ai mis à jour mon iPhone à partir de la version 2.2.1 et j'ai téléchargé le dernier SDK d'Apple.

Veuillez m'aider à résoudre ce problème.

2voto

Gerald Points 21

Je viens de passer trois heures passionnantes à me battre avec ce problème. Je viens de mettre à jour un projet en 4.2 et, pour une raison quelconque, cela ne fonctionne pas.

J'ai fini par supprimer le fichier Entitlements.plist et j'en ai créé un nouveau.

Fichier > Nouveau fichier > Signature de code > Habilitation

Nommez le fichier Entitlements.plist

Assurez-vous qu'il est dans le groupe des ressources dans xCode.

Il n'a pas mis le type BOOL get-task-allow dans le fichier Entitlements.plist. Je l'ai ajouté, coché, enregistré, décoché, enregistré. Cela m'a fait me sentir mieux.

J'ai ensuite supprimé les profils Adhoc et Release que j'avais créés. Je les ai retéléchargés à partir du Provisioning Portal et les ai remis dans l'organiseur xCode.

Je suis ensuite allé dans Build Settings et je me suis assuré que les profils corrects étaient attribués aux profils Debug et Release.

J'ai ensuite changé le nom en Release / Device. J'ai appuyé sur le bouton de construction et ça a marché.

Je ne sais pas pourquoi.

2voto

Rajneesh071 Points 10459

Cela est dû au fait que le périphérique sur lequel vous exécutez votre application n'est pas sélectionné avec votre profil de provisionnement.

Donc, il suffit de passer par Certificats, identifiants et profils sélectionnez votre iOS Provisioning Profiles cliquez sur modifier puis sélectionnez votre appareil

enter image description here

1voto

iisystems Points 393

La réponse de John est correcte à 99 %. J'ai découvert que (du moins dans ma configuration), vous devez ouvrir l'inspecteur des paramètres de construction pour l'élément de menu "Build". PROJET . Les paramètres de construction de la cible ne contiennent pas "Code Signing Entitlements". Cela ne fait peut-être pas de différence si vous n'avez qu'une seule cible dans votre projet. Mais si vous avez plusieurs cibles, vous devez aller dans les paramètres de construction du projet. Quoi qu'il en soit, après avoir fait ce que John a dit, ma construction de distribution ad hoc a fonctionné parfaitement.

1voto

TalkLittle Points 2278

Dans Xcode 5.1, si vous allez dans Préférences -> Comptes -> Afficher les détails...

Assurez-vous que le statut de l'identité de signature est valide. S'il est indiqué Révoqué, cliquez sur le bouton Plus et ajoutez l'identité de signature appropriée : Développement iOS ou Distribution iOS. Xcode la remplacera par une nouvelle identité valide.

0voto

Jay Imerman Points 2793

PJosh, ceci pourrait aider à comprendre. Dans mon cas, mon profil de provisionnement d'équipe a expiré (le portail de provisionnement indique qu'il est géré par XCode), ainsi que le profil de test de périphérique pour l'application. (Je ne sais toujours pas pourquoi, mais le portail avait un bouton "Renouveler" à côté du profil d'équipe, mais il ne faisait rien quand je cliquais dessus).

J'ai donc supprimé les profils sur le point d'expirer, puis dans XCode, allez dans Organizer (Command-Shift-2), sous Library / Provisioning Profiles, j'ai supprimé ceux qui expirent. Ensuite, j'ai cliqué sur "Rafraîchir" en bas de la page, j'ai entré mon identifiant Apple, et les profils arrivant à expiration ont été renouvelés.

Enfin, sur ma cible, je suis allé dans Build Settings, Code Signing, et j'ai veillé à sélectionner le profil de provisionnement. Voila, maintenant il se construit sur mon appareil.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X