L'installation de l'application a échoué en raison du droit d'identification de l'application

304

Je ne parviens pas à installer une application watchOS 2 WatchKit en raison d'un droit d'identifiant d'application. Cela s'est produit après avoir activé les groupes d'applications dans l'onglet Capacités.

Erreur complète:

L'installation de l'application a échoué

Le droit d'identificateur d'application de cette application ne correspond pas à celui de l'application installée. Ces valeurs doivent correspondre pour qu'une mise à niveau soit autorisée.

Capture d'écran 1

Cela exécute l'application en mode débogage sur un appareil physique. Exécuter uniquement l'application iOS fonctionne bien.

J'ai à nouveau désactivé les groupes d'applications et supprimé les fichiers de droits d'accès qui ont été ajoutés, mais la même erreur.

Ric Santos
la source
Avez-vous pu trouver le correctif?
prasad1250
1
Oui, la réponse de @ john-nesbitt a fait l'affaire
Ric Santos
1
Quant à «pourquoi» cela se produit (peut être utile de lister), dans mon cas, lors du changement de compte développeur. A été installé sur le compte A et tentait de s'exécuter après être passé au compte B. (Je n'ai pas de fichier de droits d'accès dans le projet).
bauerMusic
Consultez d'abord la deuxième réponse, elle est plus complète et n'entraînera pas de perte de données.
arcady bob

Réponses:

746

J'ai eu ce problème avec une application iPhone et je l'ai résolu en suivant les étapes suivantes.

  • Avec votre appareil connecté et Xcode ouvert, sélectionnez Fenêtre-> Appareils
  • Dans l'onglet gauche de la fenêtre qui apparaît, sélectionnez votre appareil problématique
  • Dans le panneau de détail à droite, supprimez l'application incriminée de la liste "Applications installées".

Après cela, mon application a été reconstruite et lancée très bien. Étant donné que votre application est une application watchOS, je ne suis pas sûr que vous obtiendrez le même résultat, mais cela vaut la peine d'essayer.

John Nesbitt
la source
59
Cela effacera l'application et tout son contenu. J'ai besoin de mettre à niveau et de ne pas perdre toutes mes données dans le processus si possible.
Robert Gummesson
65
Vous avez donc supprimé l'application
railwayparade
6
Mon application n'était pas affichée dans la liste Windows-> Appareils, mais je l'ai supprimée du téléphone (en appuyant longuement sur l'icône), ce qui a résolu le problème. Merci John.
Steve A
16
Je souhaite tester la migration des applications vers la nouvelle version, et je ne peux pas le faire si je supprime l'application existante (version AppStore) de l'appareil.
mixtly87
3
Bien sûr, cela fonctionne, mais dans mon cas, le problème est que je dois le faire chaque fois qu'une autre personne de l'équipe utilise le même appareil, ce qui est ennuyeux, donc la suppression n'est pas une bonne solution!
v01pe
97

J'ai eu ce problème et je n'ai pas pu le résoudre sans supprimer et réinstaller l'application (jouer avec les profils d'approvisionnement, comme certains l'ont suggéré ici, n'a pas aidé).

Cependant, je n'ai pas perdu mes données de test existantes. Voici comment procéder, pour toute personne ayant ce problème à l'avenir:

  1. Avant de supprimer l'application, ouvrez la fenêtre "Périphériques" de Xcode (c'est-à-dire cmd-shift-2).
  2. Sélectionnez votre appareil et recherchez votre application dans la liste "Applications installées".
  3. Cliquez sur l'icône d'engrenage et sélectionnez "Télécharger le conteneur ...". Cela copiera toutes les données de l'application sur votre Mac. Gardez cela quelque part pour l'instant.
  4. Supprimez l'application et réinstallez-la à partir de Xcode. Tuez l'application depuis Xcode (cliquez sur le bouton d'arrêt) pour qu'elle ne fonctionne pas.
  5. De retour dans la fenêtre "Périphériques", cliquez sur l'icône d'engrenage et sélectionnez "Remplacer le conteneur ...". Sélectionnez les données que vous avez téléchargées sur votre Mac à l'étape 3.

Xcode restaurera ensuite les données de votre application précédemment enregistrées. Vous avez maintenant récupéré vos anciennes données de test et l'application devrait fonctionner.

Tom Harrington
la source
3
Cela fonctionne particulièrement bien lorsque vous utilisez la fonction "provisioning automatique" dans Xcode 8.
Steve Madsen
2
Je souhaite vraiment avoir lu ceci avant d'utiliser la réponse. Ensuite, les données d'état auraient été conservées. (Voir mon commentaire ci-dessus).
Tim Maher-De Troyer
1
Ce devrait être la réponse choisie.
galactikuh
100% la bonne réponse SI VOUS NE VOULEZ PAS PERDRE VOS DONNÉES. Devrait être accepté la réponse.
arcady bob
J'ai le même scénario, mais mes données utiles sont dans Userdefaults. Peut-on récupérer cela de toute façon? L'aide est appréciée
Rahish
29

Supprimez toutes les versions précédentes de l'application de votre iPhone, puis nettoyez-> Build and Run à nouveau. Votre application doit fonctionner correctement sur votre appareil.

Assurez-vous également que vous n'avez pas sélectionné le certificat de distribution dans les paramètres de votre projet lorsque vous essayez d'exécuter votre projet directement sur votre appareil.

n.by.n
la source
28

Vous obtiendrez cette erreur lorsque votre préfixe AppID ne correspond pas au préfixe de l'application précédemment installée. Si votre application est déjà dans l'App Store, vous ne pourrez pas soumettre de mises à jour sans restaurer le préfixe AppID d'origine ou contacter Apple.

Instructions d'Apple pour gérer ce problème: https://developer.apple.com/library/content/technotes/tn2319/_index.html#//apple_ref/doc/uid/DTS40013778-CH1-ERRORMESSAGES-UPGRADE_S_APPLICATION_IDENTIFIER_DOES_NOT_MATCHAL

Si vous n'aviez pas l'intention de modifier le préfixe AppID, Xcode signe votre application avec le mauvais profil d'approvisionnement.

Si vous avez l'intention de modifier le préfixe AppID (parce que l'application a été transférée vers un nouveau développeur ou que vous migrez à partir d'un ancien AppID antérieur à 2011), vous devez contacter Apple pour migrer un AppID existant vers un nouveau préfixe.

Vous devez également ajouter le previous-application-identifiersdroit à votre application, en répertoriant tous les AppID précédents (avec les anciens préfixes). Et vous devez demander à Apple de générer pour vous un profil d'approvisionnement qui inclut le previous-application-identifiersdroit.

Darren
la source
2
Mon profil générique que j'ai utilisé pour le développement a expiré et j'ai créé par erreur un profil spécifique à l'application. Après avoir lu votre message, j'ai créé un nouveau profil générique et l'ai utilisé. A fonctionné comme un charme. Le vôtre est le message le plus précis et devrait être la réponse acceptée. Supprimer l'application et perdre les données n'est pas une bonne option pour beaucoup d'entre nous. Merci!
neoscribe
17

J'ai résolu cela sans supprimer l'application

Avec le projet ouvert dans xcode. Projet -> Paramètres de construction -> Signature de code -> Profils d'approvisionnement (liste déroulante) Il est probablement défini sur automatique et choisit le mauvais profil. Ouvrez la liste déroulante et choisissez la bonne, puis réexécutez l'application.

Dustin
la source
J'ai d'abord essayé de supprimer et de réinstaller l'application. Ça n'a pas marché. Ensuite, j'ai fait défiler vers le bas et j'ai vu cette réponse. La génération échouait avec cette erreur uniquement pour les tests UI automatisés, mais pas pour la génération régulière, et il s'avère que le bon profil d'approvisionnement a été sélectionné pour la génération régulière, mais pas pour la génération UItests automatisée. Donc, la mise à jour a résolu le problème ..
auspicious99
5

J'ai rencontré le même problème et j'ai été bloqué pendant plusieurs minutes et après une recherche, la solution la plus simple que j'ai trouvée est de supprimer manuellement l'application précédemment installée de votre appareil et d'essayer de réexécuter l'application à partir de Xcode.

J'espère que cela vous aide. Bonne chance...

Kunal Gupta
la source
4

Pas

  1. Avec votre appareil connecté et Xcode ouvert, sélectionnez Fenêtre-> Appareils
  2. Maintenant, sélectionnez l'application et téléchargez le conteneur à l'aide de l'icône de réglage
  3. Supprimer l'appli
  4. Réinstaller l'application à l'aide de Xcode
  5. Arrêter de Xcode
  6. Allez dans Fenêtre-> Appareil et sélectionnez l'application et remplacez le conteneur qui est la sauvegarde de l'application précédente
Kirit Vaghela
la source
Les étapes de conteneur ne sont pas nécessaires mais agréables si vous souhaitez conserver les données. Je vous remercie.
Awesomeness
2

J'ai moi-même essayé quelques choses comme mettre à jour / créer de nouveaux profils d'approvisionnement, fixer les droits dans Apple Member Center et dans Project, mais dans mon cas, j'ai simplement dû supprimer l'application et la réexécuter.

o_O


Le droit d'identificateur d'application de cette application ne correspond pas à celui de l'application installée.

REMARQUE: il dit " ... ne correspond pas à l'application installée "

Je suppose que cela m'est arrivé parce que nous avons ajouté une nouvelle extension d'application et qu'il doit y avoir eu des problèmes de migration liés à la cible? Pas sûr mais de toute façon

staticVoidMan
la source
oui, supprimez l'application installée sur votre appareil et réexécutez à partir de Xcode. J'ai eu ce problème car j'ai ajouté une cible dans Xcode.
Syed Asad Ali
2

J'ai constaté que j'avais accidentellement modifié le profil d'approvisionnement pour y inclure un caractère générique.

C'est-à-dire qu'il est passé de com.companyname.appnickname à com.companyname. *

J'ai créé un nouveau profil de provisioning avec le nom complet correctement nommé, je l'ai téléchargé, défini le profil Target-> build settings-> provisioning sur ce nouveau profil, redémarré xcode, obtenu une erreur bizarre de xcode (cela semblait confondre mes différents développeurs d'applications logins), redémarré xcode à nouveau, et cela a fonctionné!

Je ne voulais pas supprimer l'application existante, car j'essayais de tester ce qui se passe lorsqu'un utilisateur a mis à niveau son application vers une version plus récente, j'ai donc installé la version de l'App Store, puis exécuté mon xcode avec la version la plus récente (qui agit comme «mettre à niveau» l'application sans supprimer les données utilisateur).

arinmorf
la source
Vous devez simplement vous assurer que vous utilisez le même profil d'approvisionnement que celui avec lequel vous avez créé l'application à l'origine.
mj662
2

J'ai eu la même erreur et je l'ai résolue en changeant l'identifiant de bundle en quelque chose de nouveau. Après cela, il construit un projet sans problème.

Mes pas:

  • Ouvrir Xcode
  • Accédez à l'onglet Général
  • Trouver l'identité
  • Remplacez l'identifiant de l'ensemble par quelque chose de nouveau.

Modification de l'identifiant du bundle

F_Boris
la source
2
Cela ne fonctionne pas si vous souhaitez tester une mise à jour d'application.
Raphael Oliveira
2
En modifiant l'ID de l'offre groupée, vous avez effectivement créé une toute nouvelle application.
Steve Madsen
2

J'ai eu le même problème. Le bundle.identifier et le nom du projet doivent être identiques. C'était du moins mon problème.

Rawand Saeed
la source
1

Désinstaller l'application iPhone principale, l'application Watch et les reconstruire résout le problème.

oOEric
la source
1

J'ai eu la même erreur jusqu'à ce que je rétablisse les paramètres d'usine de la montre selon https://forums.developer.apple.com/thread/17948

"Apparemment, si vous disposez d'une application WatchOS 1 existante et que vous essayez de la mettre à jour vers WatchOS 2, l'identifiant de l'ensemble change et provoque cette erreur. Si vous mettez à jour votre montre, vous devrez la réinitialiser si vous aviez installé l'application WatchOS1 avant de mettre à jour cette application vers WatchOS2. "

Piotr Farbiszewski
la source
J'ai également dû rétablir les paramètres d'usine de la montre. Avait essayé toutes les autres suggestions pertinentes, mais en vain. Avait également régénéré tous les profils d'approvisionnement pour s'assurer qu'ils étaient conformes aux droits. Ma situation était exactement celle décrite ici: avait une application WatchOS 1 existante, que j'essayais de mettre à jour vers WatchOS 2.
rene
1

Même si j'ai suivi quelques étapes logiques: désinstaller l'application, reconstruire le projet, la seule solution qui a fonctionné pour moi était: redémarrer XCode . (XCode 8.1)

Ispas Claudiu
la source
1

Cela s'est produit lorsque j'ai essayé d'installer par-dessus une version adhoc.

Kelsey
la source
1

Dans la plupart des réponses à ce problème, il y a un aspect critique négligé qui a été soulevé par le demandeur initial. L'application doit être installée sans supprimer l'installation existante. Dans mon cas, l'application utilise une base de données SQLite qui stocke pas mal de données pour l'utilisateur. De toute évidence, si vous supprimez l'application, vous supprimez les données. Une solution qui m'a permis de le tester de la même manière qu'un utilisateur le mettra à jour était un must.

Dans mon cas, le problème était Xcode utilisant un profil d'approvisionnement généré automatiquement par Xcode. Cela est probablement dû au fait que j'ai obtenu un nouvel ordinateur et que je n'ai pas transféré le profil d'approvisionnement de distribution. Sans oublier que je n'avais pas mis à jour l'application depuis près de 2 ans. Mon profil de provisioning d'origine (qui contient l'identifiant d'application Entitlements) a donc disparu depuis longtemps. Solution: dans les préférences Xcode-> Comptes-> Sélectionnez l'ID Apple approprié-> Afficher les détails-> Sous Profils d'approvisionnement, cliquez avec le bouton droit sur le profil généré par Xcode pour cette application (il est préfixé avec XC iOS) et sélectionnez Déplacer vers la corbeille .

Profils de provisioning Xcode sous Comptes

Sur le site Web du développeur, créez un nouveau profil de distribution avec l'ID de votre application. Téléchargez le nouveau profil, double-cliquez et Xcode devrait l'installer automatiquement. Inversement, vous pouvez revenir aux profils répertoriés dans Xcode et appuyer sur le bouton Télécharger à côté de votre profil nouvellement créé. Générez l'application et réessayez. À propos, mon Xcode est configuré pour gérer automatiquement la signature de code, ce qui, à part ce problème, fonctionne très bien.

hoptown
la source
1

TLDR - supprimez l'application de l'appareil et exécutez à nouveau.

Dans mon cas:
1. J'ai compilé et exécuté l'application sur l' appareil iPhone .
2. J'ouvre dans le réglage des capacités et allume l' iCloud
3. Ensuite, j'essaie de réexécuter l'application, boom, erreur: «L'installation de l'application a échoué Le droit d'identificateur d'application de cette application ne correspond pas à celui de l'application installée. Ces valeurs doit correspondre pour qu'une mise à niveau soit autorisée.

4.Puis j'ai supprimé l' application de l'iPhone (après avoir lu les réponses ici)
5.Tout fonctionne bien

user1105951
la source
1

Pour les personnes qui pourraient faire partie de plusieurs équipes, cela peut être votre problème:

  • Si l'ID de l'ensemble de l'application est codé en dur dans votre Info.plist, alors Xcode peut être confus et jeter cette crise.

Pour corriger:

  • Assurez-vous que l'ID de l'ensemble est défini comme:

    $ (PRODUCT_BUNDLE_IDENTIFIER)

Juan Carlos Ospina Gonzalez
la source
0

La réponse acceptée n'a pas fonctionné pour moi. Pour le faire fonctionner, j'ai dû réinitialiser l'Apple Watch à la dernière sauvegarde disponible.


la source
0

J'ai reçu cette erreur après être passé d'un 5s à un 6s. J'ai récupéré les nouveaux 6 à partir d'une sauvegarde de l'ancien iPhone. Pour cette raison, sur le nouvel iPhone, l'ancienne application a été installée.

L'ancienne application n'apparaissait pas dans la liste des "Applications installées" des années 6! J'ai supprimé manuellement cette ancienne application des années 6 et tout allait bien.

Ronald Hofmann
la source
0

J'ai rencontré ce problème parce que j'ai construit sur le téléphone avec ma signature de code désactivée à partir d'une autre machine, vous devez donc désinstaller l'application du téléphone avant d'installer / construire sur le téléphone avec la signature de code.

gollumullog
la source
0

Ceci est résolu facilement en supprimant votre application précédente de votre appareil. Et recommencez la réinstallation. Cela fonctionne bien pour moi.

user6217789
la source
0

J'ai rencontré le même problème aujourd'hui et je l'ai résolu en changeant simplement le nom d'affichage et l' identifiant de l'ensemble de l'application précédente qui était également installée sur mon iPhone. Pas:

Xcode -> General tab -> Find Identity -> Change Bundle Identifier

Donc, maintenant, j'ai deux mêmes applications avec les mêmes fonctionnalités mais avec deux noms et identité différents.

Irfan
la source
0

Dans mon cas, c'était à cause du certificat.

car mon propre certificat pour signer l'application ne faisait pas partie de l'équipe de développement (nouvel employé), la mise à niveau de l'application depuis l'App Store vers une nouvelle version n'était pas autorisée.

Donc, si cela vous arrive et que vous ne parvenez pas à obtenir un "bon" certificat, clonez simplement la version git appStore, ouvrez deux projets Xcode, compilez l'ancienne version, mettez à jour les paramètres comme vous le souhaitez, compilez la nouvelle et tu as fini.

un peu sale et délicat mais j'espère que cela pourrait aider quelqu'un.

Keuha
la source
0

Mon problème était l'ID d'application en combinaison avec le certificat utilisé pour créer les profils d'approvisionnement. Aucun de mes profils de provisioning ne fonctionnait car aucun d'entre eux n'était "Elgible" (créé avec un certificat correspondant à l'ID d'application). J'avais déplacé le développement vers une nouvelle machine, donc c'était peut-être la raison la plus profonde. En tout cas, j'ai dû créer un nouveau certificat, puis de nouveaux profils d'approvisionnement avec ce certificat en faisant attention de choisir le bon ID d'application lors de leur création. Bonne chance.

Alyoshak
la source
0

Aucune des réponses ci-dessus n'a fonctionné pour moi. Mon problème: j'avais installé une version d'application de Testflight, donc, je viens de supprimer les deux, l'ancienne application et la version de Testflight, et fonctionne à nouveau.

NEOline
la source
0

Accepter les accords en attente du site Web du développeur et du site Web iTunes Connect et rouvrir le projet dans X-Code a résolu la situation pour moi.

Vishal Chaudhry
la source
0

Pour moi, cela s'est produit après la mise à jour vers XCode 11, comme les autres l'ont dit, c'est un problème de signature. Ce qui m'a permis de résoudre le problème était d'accéder au portail des développeurs> Certificats et identificateurs Modifier le profil d'approvisionnement que vous utilisez

Capture d'écran de la liste des certificats

Vous verrez qu'il y a un certificat pour XCode 11 (comme on le voit sur la capture d'écran) Cochez simplement cette case, téléchargez à nouveau le profil et mettez à jour la signature de vos projets avec le nouveau profil.

marvios
la source
0

Avec MacOS Catalina, votre iPhone sera affiché dans la barre latérale `` Emplacements '' des fenêtres du Finder (tant que vous avez configuré les préférences du Finder pour afficher les périphériques externes) - vous pouvez ensuite accéder aux fichiers via l'option `` Fichiers '' qui est disponible dans la barre en haut de la fenêtre, juste en dessous du titre (dans mon cas j'ai dû cliquer sur le '>' à droite).

SomaMan
la source