web-dev-qa-db-fra.com

L'exécutable est signé avec des droits non valides dans Xcode

J'ai eu cette erreur avec Xcode 5 lorsque j'essaie d'exécuter l'application sur mon appareil.

L'exécutable a été signé avec un droit invalide

Cela a bien fonctionné avec Xcode 4.x. Quelqu'un sait comment se débarrasser de l'erreur?

enter image description here

101
Emmy

J'ai découvert le problème. L'application que j'ai créée sur developer.Apple.com n'inclut pas inter-app-audio. Le fichier de liste de droits d'accès au projet sur Xcode a inter-app-audio défini sur YES (par défaut). Une fois que j'ai modifié le paramètre de ma configuration d'application sur developer.Apple.com pour activer l'inter-app-audio. Ensuite, mon application s'exécute sur mes appareils. Je suppose que c'est la nouvelle règle d'Apple pour rendre les paramètres de votre application cohérents à la fois sur developer.Apple.com et sur votre paramètre de projet xcode.

34
Emmy

J'ai lutté avec ce problème pendant une heure et j'ai finalement trouvé une solution. Il s'est avéré que l'équipe de développement était différente dans ProjectTarget et ProjectTests.

79
Krish Wadhwana

Redémarrage de Xcode était ce qui a fonctionné pour moi.

74
RaffAl

J'ai pu résoudre ce problème en activant/désactivant le droit "Game Center" dans Xcode 5 :-)

22
Nik

Pour XCode 10, il peut être nécessaire d’utiliser le système de construction hérité

Les modifications peuvent être effectuées à partir des paramètres de fichier/projet. ERREUR ITMS-90174: "Profil de provisioning manquant - Les applications iOS doivent contenir un profil de provisioning dans un fichier nommé embedded.mobileprovision."

Une annonce cordova/ionic: https://github.com/Apache/cordova-ios/issues/407

16
Chen Xing

Aucune solution ne fonctionnait pour moi tant que je n'ai pas vérifié et paramétré l'application Tests cible le même profil d'approvisionnement que l'application principale. Ou si vous utilisez le chant automatique, assurez-vous que la même équipe est sélectionnée dans la cible Tests.

14
Matej Ukmar

La solution pour les derniers Xcode:

Vous devez d’abord vérifier ce qui est activé dans votre Centre des membres pour votre propre AppID:

enter image description here

Ensuite, dans votre cible appropriée dans Xcode, vous devez activé les mêmes capacités: Dans ce cas: App Group, Game Center, In-App Purchase. Tous doivent être activés dans votre cible dans Xcode.

enter image description here

Cependant, peu importe pour le mode DEBUG:

enter image description here

c'est très important pour votre mode RELEASEenter image description here

Notez que Game Center et In-App Purchase sont activés par défaut dans Member Center mais sont désactivés dans la cible de Xcode.

11

Je pense que votre problème réside en raison du profil que vous utilisiez xCode4.6 et que vous utilisez maintenant xCode5.

Vous devez actualiser les profils certs/prov via XCode> Préférences> Comptes.

XCode> Préférences> Comptes> Cliquez sur votre bouton COMPTE DEV> Afficher les détails (en bas à droite)> L'écran Signing Iden/PPs apparaît> cliquez sur Actualiser.

Choisissez ensuite à nouveau le profil approprié dans les paramètres de construction, puis nettoyez et construisez votre projet.

J'espère que cela vous aide.

10
Manthan

Je devais faire correspondre les capacités de l'application dans Xcode5 sous

Capabilities -> 
In-App purchase -> ON
Game Center -> ON

avec cela dans le profil provisoning.

6
Nithin Haridas

xcode 6.1 (exemple HealthKit)

L’intégration de HealthKit me causait cette erreur: j’avais activé l’achat intégré, Game Center et Healkit avaient résolu mon problème. C’est ce que j’ai activé dans le profil Provision.

enter image description here

enter image description here

5
Vinod Joshi

(Xcode 6.1)

Le problème pour moi était dans mes paramètres de construction; Mon profil d'approvisionnement était défini sur un profil de production App Store lors d'une tentative de déploiement sur un périphérique. Je l'ai basculé sur "Automatique" et cela a résolu mon problème. Vous pouvez également le définir sur votre profil de provision pour développeurs.

J'ai aussi 2 certificats, alors j'ai ajouté mon deuxième certificat à ma disposition pour les développeurs. D'autres n'auront probablement pas ce problème.

4
Ian Newland

Simple nettoyer et construire semblait résoudre ce problème pour moi.

4
Maxwell

J'ai eu un problème similaire lors de la mise à jour vers Xcode 10, j'ai résolu le problème en allant dans Fichier> Paramètre du projet. Dans l'option "Nouveau système de construction", sélectionnez "Système de construction hérité". Cela a fait le tour pour moi, j'espère que cela aidera quelqu'un.

4
Jose Rojas

Je résous ce problème en supprimant tous les "PROVISIONING_PROFILE=..." et "PROVISIONING_PROFILE[sdk=iphoneos*]" = ... dans project.pbxproj, puis relancez Xcode et définissez à nouveau les profils d'approvisionnement pour la cible.

2
BabyPanda

Si le redémarrage de xcode ne fonctionne pas, créez un nouveau profil de provision et assurez-vous d'inclure vos périphériques de test.

2
mohammad alabid

Une autre chose à vérifier - assurez-vous que vous avez les bonnes entités sélectionnées dans les deux

Cibles -> Votre cible -> Paramètres de construction -> Signature

et

Projet -> Votre projet -> Paramètres de construction -> Entité de signature de code

J'ai reçu ce message lorsqu'un profil de développeur complet avait été sélectionné dans l'un et un identifiant différent (non-développeur) Apple sélectionné dans l'autre, même si aucun droit n'était requis dans l'application.

2
CupawnTae

Il semble y avoir un petit bug dans Xcode. Essayez de archive quand même, même s'il y a un problème avec entitlements. Si vos droits sont corrects, il sera téléchargé sans problème. Apple acceptez-la et votre application sera publiée sur l'AppStore.

Je l'ai fait et ça a marché:)

2

Dans mon cas, l'appareil n'a pas été ajouté. J'ai donc dû ajouter l'appareil et générer un nouveau profil d'approvisionnement.

2
Xavi Valero

J'ai eu le même problème dans XCode 5. Cela m'a aidé quand même.

XCode > Preferences > Location tab > DerivedData

Appuyez sur une petite flèche gauche pour ouvrir DerivedData dans le Finder. Déplacez-vous dans le dossier corbeille de votre projet et reconstruisez-le.

Screenshot

1
Prcela

Dans mon cas, je devais accepter le Apple Contrat de licence de développeur.

Connectez-vous au compte de développeur Apple et observez le message de notification similaire à celui présenté ci-dessous.

"Le contrat de licence du programme pour développeurs Apple a été mis à jour. Pour pouvoir accéder à certaines ressources d'adhésion, **** doit accepter le dernier contrat de licence avant le 28 juin 2016."

Auparavant, je n’étais pas capable d’ajouter/éditer des conteneurs iCloud à l’ID de l’application, même si j’ai modifié/vérifié les fonctionnalités, les profils de provisioning, les certificats, etc.

Espérons que cela permettrait à quelqu'un de gagner un temps précieux.

1
Danboz

Cela pourrait être dû à un schéma incorrect.

1
Saurabh Bisht

Dans mon cas, le certificat APNS a expiré, le supprimer et régénérer le profil de provisionnement corrige le problème.

1
BillChan

Fonctionnalités d'activation -> Inter-App Audio a également résolu ce problème. J'essaie également d'envoyer des notifications Push via l'analyse

1
jstn

Eu un problème. Résoudre: aller à la bonne cible -> capacités -> pour moi, il y avait un problème avec "achat in-app" et le bouton pour le résoudre. Problème résolu d'opération hors tension.

1
Anton Plebanovich

Si le problème persiste, vous pouvez peut-être oublier de mettre l’équipe dans le projet cible, essayez de faire cette image.

enter image description here

1
Papon Smc

Je suis tombé sur le même problème tout récemment. Après avoir lu de nombreux conseils différents dont aucun ne fonctionnait pour moi, je suis finalement allé sous le capot et ai trouvé la cause première du problème.

Le fichier de configuration mobile ne correspond en fait pas au fichier de droits généré par Xcode.

Bien que tous les fichiers soient automatiquement analysés par l’outil Apple, ils ne sont pas corrects.

Si vous téléchargez le fichier de provisioning à partir du portail Apple et que vous l'ouvrez (vous pouvez l'ouvrir car il s'agit simplement d'un fichier plist signé par votre certificat, il est donc lisible par l'éditeur de texte) et comparez-le avec votre fichier Entitlements (généré automatiquement par Xcode et résidant dans des fichiers de projet (il est donc à nouveau plist fichier XML lisible par l'éditeur de texte). Vous pouvez ensuite voir la différence.

Dans mon cas, c'était le droit Game Center. Il était affiché sur le portail comme coché (coché par défaut), mais en réalité, ce droit n’était pas inclus dans le fichier de provisioning mobile. Il s’agissait donc de le supprimer du fichier Droits.

Le résultat est donc - le contenu du profil d'approvisionnement mobile ne correspond parfois pas à ce qui est affiché sur la page de configuration de l'ID APP. =

1
Radek

Les réponses ici semblent un peu inadéquates, alors j'ajoute mes deux centimes:

La vraie solution est qu'il y a généralement une discordance entre ce qui est stocké dans votre profil d'approvisionnement (consultez la page developer.Apple.com -> membres -> certificats -> le certificat que vous utilisez (assurez-vous de vérifier si dev/production) et ce qui est activé dans votre application (double-cliquez sur le nom du projet), dans le menu horizontal, sélectionnez "Capacités" (à côté de "Général").

Si vous avez récemment modifié l'un de ceux-ci, veillez à actualiser vos certificats sous XCode -> Préférences -> Comptes -> Détails -> Icône d'actualisation et redémarrez XCode.

1
jdero

Dans mon cas: j'ai besoin d'activer Inter-App Audio dans

Capabilities -> Inter-App Audio

Je pense que parce que j'utilise Parse.com Notification, il faut un lien vers AudioToolbox.framework

1
Nguyen Tran

Pour ceux qui ont le même problème avec Profil d'approvisionnement Automatique dans les cibles Paramètres de construction:

Soyez très prudent lorsque vous modifiez votre fichier de droits d'objectifs! Cela risquerait de rompre la correspondance avec le profil de provisioning généré automatiquement et vous obtiendrez cette erreur.

Dans mon cas, j'ai dû utiliser temporairement les conteneurs de production iCloud avec les versions de débogage. Pour ce faire, j'ai inséré

<key>com.Apple.developer.icloud-container-environment</key>
<string>Production</string>  

dans le fichier de droits et cela a fonctionné!
Pour me rappeler que j’ai dû supprimer ces lignes par la suite, j’ai inséré simplement le commentaire suivant:

<key>TODO</key>
<string>The entry below must be out commented or deleted to use the iCloud development environment.</string>  

Et cela a rompu la correspondance et créé l'erreur.

1
Reinhard Männer

Si les autres bonnes réponses répertoriées ici ne fonctionnent pas pour vous, essayez d'ouvrir le trousseau d'accès et de supprimer tous les certificats 'Développeur iPhone ...' autres que celui principal utilisé pour la signature de code. J'ai constaté que j'avais plusieurs certificats révoqués et des certificats de mes autres coéquipiers qui devaient être supprimés.

0
Smeedge

(Xcode 7.3.1) J'ai eu ce problème avec un seul appareil en particulier. Ce qui a été résolu pour moi, c’est d’exécuter l’application à partir de l’ordinateur d’un collègue (avec succès) et après cela, j’ai cessé d’obtenir cette erreur sur mon ordinateur.

0
e1985

Je suis simplement allé sur Appledev portal, j'ai téléchargé le profil d'approvisionnement approprié et je l'ai réinstallé (xcode 10.1).

0
Daniel Lizik

J'ai fait face au même problème. Pour moi, la solution était en dessous des étapes.

  1. Je suis allé sur le compte développeur j'ai téléchargé le certificat Push dans App Identifier.
  2. Régénérer le profil d'approvisionnement

Conclusion: Si un service est activé mais qu'il n'est pas configuré, sa désactivation ou sa configuration peut résoudre le problème.

0
Amit Saxena

Tout ce qui précède est correct, en particulier de Bartłomiej Semańczyk: revérifiez les paramètres de droits dans le Centre de développement ET dans votre projet.

mes deux cents pour Xcode 9/iOS 11 ..

Si vous ajoutez de nouveaux droits à NFC (valide uniquement pour iOS11/Xcode 9) dans votre référentiel où vous avez également un projet Xcode 8, Xcode 8 échouera.

Ainsi, si vous utilisez plusieurs projets avec le même code de base (avec compilation conditionnelle) partageant les mêmes fichiers sans code, assurez-vous de différencier les fichiers de droits entre différentes versions de Xcode.

0
ingconti

Tout d’abord, assurez-vous que le profil de provisionnement correct est sélectionné pour la configuration que vous avez sélectionnée avant la construction si vous avez défini manuellement le profil de provisionnement. Si vous avez défini automatique comme profil d'approvisionnement, assurez-vous que Xcode récupère le profil correct lors de la construction.

0
Ishaan Sejwal

Je recevais une erreur similaire dans Xcode 8.3.2. Dans mon cas, j'ai constaté que la suppression des profils de provisionnement mis en cache de ~/Library/MobileDevice/Profils de provisionnement obligeait Xcode à télécharger à nouveau le fichier correct à partir du portail de développeur et ensuite, il fonctionnait pour la première fois. J'espère que ceci aide quelqu'un d'autre!

0
webmariner