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?
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).
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!
Je l'ai résolu en supprimant la version déjà installée du téléphone, puis en la réinstallant.
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.
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.
Je sais que vous avez déjà vérifié certaines de ces informations, mais la réponse est complète:
"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 .. ....
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.
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.
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!
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".