web-dev-qa-db-fra.com

Impossible de vérifier l'application lors de la création de l'application pour iPhone

D'accord, je viens de me procurer un tout nouveau MacBook Pro et, après avoir développé mon application iPhone sur un autre MacBook, je souhaitais migrer mon développement sur mon nouvel ordinateur.

J'ai atteint le stade où je peux créer l'application et l'exécuter sur le simulateur sans problème, mais lorsqu'il s'agit d'exécuter l'application sur mon iPhone, le message "L'application n'a pas pu être vérifiée" continue à apparaître. J'ai installé un nouveau certificat de développeur et les profils d'approvisionnement (tous générés nouveaux), mais je ne comprends pas pourquoi je devrais toujours recevoir l'erreur.

Quelqu'un a une idée de l'endroit où je vais mal?

MODIFIER

J'ai recréé le certificat, le profil de profisioning, etc. " Message d'erreur.

Y a-t-il une sortie que je peux obtenir qui me donnera une erreur précise?

MODIFIER

OK, j'ai le journal approprié de l'organisateur indiquant le problème. On dirait que je n'ai pas configuré Entitlements.plist, mais en xcode, je l'ai. (J'ai ajouté un fole Entitlements.plist, puis décoché get-task-allow, puis ajouté Entitlements.plist aux paramètres du projet sous Droits de signature de code). Le journal est:

Tue Jun 16 07:35:42 unknown mobile_installation_proxy[1162] <Error>: install_embedded_profile: Skipping the installation of the embedded profile
Tue Jun 16 07:35:42 unknown securityd[1158] <Error>: mobile_installat[1162] SecItemCopyMatching: missing entitlement
Tue Jun 16 07:35:42 unknown securityd[1158] <Error>: mobile_installat[1162] SecItemCopyMatching: missing entitlement
Tue Jun 16 07:35:42 unknown securityd[1158] <Error>: mobile_installat[1162] SecItemCopyMatching: missing entitlement
Tue Jun 16 07:35:42 unknown securityd[1158] <Error>: mobile_installat[1162] SecItemCopyMatching: missing entitlement
Tue Jun 16 07:35:43 unknown mobile_installation_proxy[1162] <Error>: entitlement 'get-task-allow' has value not permitted by a provisioning profile
Tue Jun 16 07:35:43 unknown mobile_installation_proxy[1162] <Error>: verify_executable: Could not validate signature: e8008016
Tue Jun 16 07:35:43 unknown mobile_installation_proxy[1162] <Error>: preflight_application_install: Could not verify /var/tmp/install_staging.1WIVsB/BouldrData.app/BouldrData
Tue Jun 16 07:35:43 unknown mobile_installation_proxy[1162] <Error>: install_application: Could not preflight application install
Tue Jun 16 07:35:43 unknown mobile_installation_proxy[1162] <Error>: handle_install: Installation failed
Tue Jun 16 07:51:53 unknown afcd[1181] <Error>: user mobile has uid 501
Tue Jun 16 07:51:53 unknown afcd[1181] <Error>: mode is 0x41e8

Quelqu'un peut-il expliquer pourquoi cela ne fonctionne pas comme prévu?

MODIFIER

La construction fonctionne, mais je n'ai pas encore accepté de réponse, car je n'ai aucune idée de ce qui se passe. Quelqu'un a une idée de ce qui se passe?

46
Codebeef

De ce fil sur ADC :

get-task-allow, lorsqu'il est connecté à une application, autorise d'autres processus (tels que le débogueur) à se connecter à votre application. Les profils de distribution exigent que cette valeur soit désactivée, tandis que les profils de développement exigent que cette valeur soit activée (sinon, Xcode ne pourrait jamais se lancer et se connecter à votre application).

16
Codebeef

Mon problème était en fait que j'avais déjà installé l'application via un testflight sur mon téléphone, après avoir retiré l'application, cela fonctionnait!

93
Ruud Visser

Je l'ai résolu en supprimant la version déjà installée du téléphone, puis en la réinstallant.

32
Ali

Vérifiez si votre iPhone correctement approvisionné. Vous pouvez connecter un iPhone et lancer Organiseur à partir de XCode (Menu principal -> Fenêtre -> Organiseur), puis consulter les informations PROVISIONING PROFILES.

Après cela, vous devez faire correspondre identifiant d'ensemble (Projet -> Info.plist) et votre identifiant d'application . Vous pouvez lire cette note Apple Différence entre l'identifiant d'application et l'identifiant d'ensemble

J'avais des boîtes de message similaires (deux à la suite) lorsque mon identifiant de paquet était incorrect.

6
MikZ

Avez-vous pensé à développer les cibles sur la gauche de la fenêtre du projet, puis à l'aide du bouton droit de la souris sur le nom de votre application> obtenir des informations , puis à l'onglet Construire et sous Signature du code , sous Identité de signature de code , modifiez la valeur de N'importe quel appareil iPhone OS en ce qui concerne votre cas? Également dans l'onglet Propriétés, vous devez définir votre identifiant afin qu'il corresponde à l'identifiant que vous avez choisi.

Je ne sais pas si cela aide, c'est l'étape que j'ai trouvée manquante dans votre description cependant.

3
Jorge Israel Peña

Je sais que vous avez déjà vérifié certaines de ces informations, mais la réponse est complète:

  • Vérifiez que le nouveau profil d'approvisionnement et le nouveau certificat sont nommés au niveau target pour chaque paramètre de construction que vous souhaitez installer sur le périphérique.
  • Les droits de signature de code doivent également être définis au niveau target, et non du projet.
  • Vérifiez votre journal de construction à la recherche d'une ligne incluant CodeSign. Vérifiez qu'il est là et en utilisant le certificat que vous attendez.
  • Si tout le reste échoue, supprimez l'identité de signature de code de votre cible, nettoyez toutes les cibles, supprimez tous les répertoires de construction de votre projet, quittez et redémarrez Xcode, remplacez l'identité de signature de code et essayez à nouveau votre construction.
2
Steve Madsen

"L'application n'a pas pu être vérifiée". Une application installée avec le même identifiant de paquet peut déjà être installée sur votre appareil.

J'ai eu ce problème parce que mon application avait été achetée sur l'App Store et que je testais sa version de mise à jour de Xcode.

Solution tellement simple Supprimez simplement l'application et installez-la à nouveau .. ....

1
Aks

En plus de vérifier la signature du code, veillez à accéder au menu Générer et à exécuter "Nettoyer toutes les cibles". Xcode se mêle de temps en temps.

1
Alan

Problème résolu (au moins pour moi!)

Exporter le profil de développeur sur la machine qui fonctionne, puis importer sur la machine présentant le problème. Fait dans Préférences/Comptes, icône en forme d'en bas.

0
Jeff Klein

En allant dans Fenêtre> Périphériques et en regardant les applications installées, j'ai pu découvrir que mon application était déjà installée. Sélectionnez l'application et appuyez sur '-' pour la supprimer de l'appareil. Essayez de reconstruire votre application avec ce périphérique comme cible.

Travaillé pour moi, même si du téléphone je ne pouvais pas trouver où l'application a été installée!

0
nyarasha

Un élément important, mais facile à négliger: assurez-vous que toutes vos clés et certificats de provisioning sont sur le login trousseau. Je me suis heurté à cela lorsque j'ai essayé de créer un nouveau trousseau de "développement" et que tous mes profils sont devenus "invalides".

0
Nick Baicoianu