Application iOS «L'application n'a pas pu être vérifiée» sur un seul appareil

235

J'ai deux appareils iphone (4s et 5) connectés à mon ordinateur et j'essaie d'installer une application sur les deux appareils. Il s'installe assez bien dans l'iphone 5 mais il donne une erreur " The application could not be verified." lors d'une tentative d'installation sur le périphérique iphone 4s.

Les UDID des deux appareils ont été ajoutés dans le profil d'approvisionnement créé pour l'application.

Aussi, pour ajouter une note, je viens de mettre à jour ma version iphone vers 8.1.3 dans mon appareil 4s. Je ne sais pas si l'erreur a quelque chose à voir avec cela.

Toute aide à ce sujet serait très appréciée. Je suis coincé là-dessus depuis un certain temps maintenant.

ÉDITER:

Je viens de le connecter à un autre appareil iPhone et le problème semble être à nouveau là. Fondamentalement, cela signifie que l'application, pour une raison quelconque, ne s'installe que sur le téléphone que j'utilise depuis un certain temps et non sur aucun autre téléphone. Encore une fois, je suis presque sûr que le profil d'approvisionnement contient les UDID de tous ces 3 appareils.

Sunil
la source

Réponses:

479

Il m'est arrivé quelque chose de similaire récemment. J'ai mis à jour mon iPhone vers 8.1.3 et j'ai commencé à recevoir le message d'erreur `` L'application n'a pas pu être vérifiée '' de Xcode sur une application qui s'est installée très bien sur le même appareil iOS du même Mac il y a quelques jours à peine.

J'ai supprimé l'application de l'appareil, redémarré Xcode et l'application installée par la suite très bien sans aucun message d'erreur. Je ne sais pas si la suppression de l'application était la solution, ou si le problème était dû à "la phase de la lune".

hotpaw2
la source
Je n'ai pas mon application dans le téléphone pour la désinstaller et l'essayer :) C'est ma première tentative d'installation sur cet appareil.
Sunil
Je vous remercie! Je me suis déchiré la tête en essayant de comprendre pourquoi cela ne fonctionnait pas sur le simulateur. Je souhaite qu'Apple autorise un développement complet en utilisant le simulateur pour toutes les opérations.
Christopher Wade Cantley
Il existe également un rapport selon lequel la suppression et la réinstallation d'une application de test de développeur ont permis à d'autres applications de test de développeur (non supprimées) de se réinstaller à partir de Xcode sans le message d'erreur.
hotpaw2
Une supposition aléatoire est que toute ancienne installation de l'application laisse quelque chose (non documenté par Apple) qu'une nouvelle somme de contrôle 8.1+ ou une méthode de signature de code n'aime pas, pense donc que la nouvelle installation est corrompue. La suppression des anciennes applications supprime tout ce qui restait.
hotpaw2
2
L'application n'a pas été installée. Comment pouvez-vous l'enlever? Comment cela peut-il être considéré comme une réponse valable?
BTRUE
116

Comme je le constate, la demande n'a pas pu être vérifiée. élever parce que dans votre appareil il y a déjà une application installée avec le même identifiant de bundle.

J'ai eu ce problème parce que sur mon appareil, mon application se télécharge depuis l'App Store. et je teste sa version de mise à jour de Xcode. Et j'ai utilisé le même identifiant que l'application en direct et mon application de test de développement. Donc, je viens de supprimer l'application Live App-Store de mon appareil et cette erreur va être corrigée.

Nitin Gohel
la source
2
Je vous remercie! Dans mon cas, j'ai téléchargé l'application sur Apple Store, mais j'ai ensuite voulu la créer à partir de la source et du profil sur l'appareil.
Valentin Simonov
1
Cela a fonctionné pour moi .. a dû supprimer l'application qui était déjà installée.
sach
9
Ouais, cela a aussi fonctionné pour moi. Sérieusement, cela me dérange énormément. Chaque année, Apple annonce fièrement à quel point son dernier bodge de Xcode est merveilleux, mais il produit toujours les messages les plus inutiles de tout environnement de développement. "L'application n'a pas pu être vérifiée." Comment diable est cette phrase liée à "Vous avez déjà une version App Store de cette application installée sur votre appareil." Désespéré. Grrrr ...
Mike Gledhill
ouais le mien a été corrigé en supprimant une version précédente du téléphone. Les messages de xcode sont de la merde.
Randy L
2
La supprimer n'aide pas à tester le chemin de l'application 'upgrade'
bandejapaisa
55

il suffit de supprimer l'application et de réessayer, cela m'arrive lorsque j'essaie de lancer sur un appareil qui a la même application mais généré par un fichier ipa.

Jorge Balleza
la source
oui, je viens de supprimer l'application et fonctionne bien pour moi aussi, merci.
raduken
3
Mais que se passe-t-il si l'utilisateur souhaite mettre à niveau l'application?
Ahmed
25

Vous avez probablement utilisé l'option "Résoudre le problème" dans Xcode lors de la connexion d'un nouvel appareil. Vieille question mais je crois que c'est la vraie réponse à POURQUOI cela se produit. Lorsque vous installez une application sur un appareil, elle est signée avec un profil d'approvisionnement de développement spécifique. Si, par exemple, vous branchez un autre appareil qui n'est pas enregistré sur votre compte de développeur, Xcode vous demandera de "résoudre le problème". Lorsque vous appuyez sur que le périphérique est ajouté et qu'un autre profil d'approvisionnement est créé / modifié. Si vous essayez de remplacer une application existante, vous recevrez cette erreur. La suppression de l'application et sa réinstallation fonctionnent car le profil a été modifié. Je trouve que cela se produit souvent lorsqu'une équipe est définie et qu'un membre branche un nouveau périphérique, puis Xcode "résout" le problème.

Mark McCorkle
la source
1
ce n'est pas toujours lié aux nouveaux appareils, cela peut également se produire si vous changez d '"équipe" dans la section Général> Identité de Xcode. Même si l'invite "Résoudre le problème" s'est affichée pour moi, j'ai déjà utilisé ce téléphone avec mon compte de développeur, il doit donc s'agir d'un changement de compte de développeur dans mon cas.
whyoz
Cela peut se produire si le droit "Partage de trousseau" a été activé.
Kof
Cela m'est arrivé après avoir activé iCloud dans les capacités. Un «problème fixe» connexe a créé un nouveau droit, qui pourrait être la cause exacte. La suppression et la réinstallation de l'application ont aidé.
Greg
9

Cela aurait pu comprendre ... La suppression de l'application de l'appareil a fonctionné pour moi, comme d'autres l'ont mentionné précédemment (merci!).

Je pense que la raison en est que l'application sur l'appareil a été signée avec un profil d'approvisionnement distinct, en particulier un profil de distribution dans mon cas.

Morieris
la source
7

Pour les autres qui n'utilisent pas RubyMotion et ne pensent pas que la suppression de l'application est acceptable (comme dans, vous voulez faire des tests de mise à niveau). Consultez le bas de ces documents d'Apple:

https://developer.apple.com/library/ios/technotes/tn2319/_index.html

Il semble qu'ils aient changé quelque chose en 8.1.3 pour vérifier cette nouvelle règle.

The Fix

"[Ajouter] la valeur de l'identificateur d'application de l'application installée, telle que consignée dans les deuxièmes parenthèses, à la valeur de tableau du droit d'identificateurs d'application précédente pour l'application en cours d'installation (en la démissionnant ou en la reconstruisant) et en demandant de nouveaux profils de provisioning spéciaux comme indiqué ci-dessous."

<key>previous-application-identifiers</key>
<array>
    <string>{Your Old App ID Prefix}.YourApp.Bundle.ID</string>
</array>

ÉDITER:

Pour ce faire, vous avez besoin de profils de provisionnement spéciaux. Vous pouvez demander ces informations à Apple: "Pour activer la signature avec le droit des identificateurs d’application précédents, de nouveaux profils d’approvisionnement spéciaux sont requis. Vous pouvez les obtenir en accédant à la page Contactez-nous et en les demandant." (à partir des documents liés ci-dessus).

plivesey
la source
Cela devrait être une réponse acceptée, car la suppression d'une application n'est pas vraiment une solution, mais une solution de contournement.
Lukasz
pouvez-vous expliquer brièvement où devons-nous changer? J'ai le même problème.
Maulik
Je ne suis pas un expert en la matière, mais je pense que c'est juste une nouvelle fonctionnalité de sécurité qu'Apple a ajoutée au système d'exploitation. Il est en quelque sorte logique que vous ne devriez pas être en mesure de remplacer une application avec un bundle-id différent, mais ils ont réalisé que cela serait nécessaire pour les tests, donc cette solution de contournement a été incluse. Malheureusement, comme cela implique de contacter Apple, je ne pense pas que la solution de contournement soit suffisamment bonne pour Apple ...
plivesey
De notre point de vue, il s'agit essentiellement d'une autre exigence pour les tests de mise à niveau.
plivesey
@plivesey Il était également crucial pour moi de pouvoir le faire sans supprimer l'application (beaucoup de données de test précieuses, etc.) et j'ai trouvé une solution encore plus simple: stackoverflow.com/a/30617406/229229
Lukasz
6

J'ai beaucoup fait face à ce problème. Je ne sais pas si c'est le problème, mais je pense que lorsque xCode a vu qu'il existe une application avec le même identifiant de bundle que l'application, j'essaie d'installer, cela ne m'a pas permis. J'ai donc dû supprimer l'ancien et tenté d'installer et cela a fonctionné. Cependant, parfois, à des fins de test, j'avais besoin de plusieurs versions de la même application et dans ce cas, je modifiais l'identifiant du bundle et essayais de l'installer. Cela ne fonctionne que si j'utilise un profil d'approvisionnement générique.

Natasha
la source
Oui, cela se produit généralement après l'ajout d'un droit
brainray
4

J'ai eu le même problème sur mon iPad exécutant la version 8.1.3. La suppression de l'application et l'installation à nouveau ont résolu le problème. J'utilise deux profils d'approvisionnement différents sur deux machines différentes et cela pourrait avoir causé ce problème.

Krishnaprasad Jagadish
la source
3

Solution fonctionnelle et testée, qui ne nécessite pas de supprimer l'application:

Il semble que le profil de distribution de distribution AppStore ou tout simplement le certificat de distribution iOS disposent d'autorisations spéciales et que le problème "Impossible à vérifier ..." ne s'applique pas à eux. Ils remplaceront toujours le certificat précédent .

En d'autres termes: la version AppStore s'installera avec succès, même si l'application déjà installée (test, adhoc ou entreprise) a été signée par le certificat d'une autre équipe.

Si vous avez de la chance et que vous avez déjà téléchargé l'application sur le compte AppStore appartenant à la même équipe que dans le certificat, vous avez un problème - alors les choses sont très simples: il suffit de télécharger et d'installer l'application depuis l'AppStore.

Lors de l'installation, le certificat d'application sera le même que celui avec lequel vous souhaitez tester et le problème disparaîtra.

Si votre application n'est pas encore sur l'AppStore - iTunesConnect beta vient à la rescousse :

Avertissement : je n'ai pas testé cela, mais comme cert an prev est le même que la version AppStore, je parie que cela fonctionne:

  1. Archivez votre application avec le profil de provisionnement AppStore (iOS Distribution cert) et téléchargez-le sur iTunesConnect (sur le compte appartenant à la même équipe de développeurs que celui inclus dans le profil de provisioning que vous ne souhaitez pas exécuter).
  2. Invitez une personne avec l'appareil sur lequel vous souhaitez exécuter (vous-même?) Au test bêta.
  3. Téléchargez et installez l'application depuis iTunes connect beta.
  4. Vous pouvez maintenant installer votre version de test.
Lukasz
la source
3

L'application n'a pas pu être vérifiée ", votre appareil peut déjà contenir une application avec le même identifiant de bundle.

Solution si simple Supprimez simplement l'application et réessayez .. ....

Aks
la source
2

Réponse TL; DR - Il n'y a pas de vraie solution à part "supprimer l'application et réinstaller".

Cette réponse n'est pas satisfaisante dans de nombreuses situations, lorsque vous avez une base de données existante qui n'a pas besoin d'être supprimée dans l'application.

Lukasz et plivesey sont les seuls avec des solutions qui ne nécessitent pas de suppression, mais ni l'un ni l'autre n'a fonctionné pour moi.

user1021430
la source
1

J'ai résolu ce problème en changeant le système de construction en héritage dans xcode.

J'ai eu le même problème mais les solutions mentionnées ci-dessus n'ont pas fonctionné pour moi. Même si je n'avais pas d'application précédente sur l'appareil, j'ai eu cette erreur lors du déploiement sur mon appareil.

Comment faire:

Allez simplement dans le menu Fichier> Paramètres du projet, dans Partager les paramètres du projet, changez le système de construction de "Nouveau système de construction (par défaut)" en "Lagacy Build System".

mehdi
la source
0

J'ai également rencontré le même problème. La suppression de l'application n'a pas fonctionné, mais lorsque j'ai essayé de supprimer une autre application qui était le `` parent '' actuel (j'ai copié tout le projet de l'application précédente, modifié certaines URL et images, puis j'ai cliqué sur `` Exécuter '' et j'ai vu le malheureux boîte de dialogue 'n'a pas pu être vérifié'). Il semble que le problème soit lié à l'approvisionnement et à la signature de code et / ou à certaines configurations du projet. Très délicat.

arc
la source
0

J'avais changé l'équipe mais j'ai oublié de la changer dans ma cible de tests donc ça a causé ça. Peut-être que cela aide quelqu'un.

akcoban
la source