Impossible de lancer mon application dans les instruments: au moins une cible n'a pas pu démarrer

98

Tous mes droits de signature de code sont correctement définis. L'exécution de l'application sur mon téléphone est bien, mais la lancer dans des instruments me donne un message d'erreur:

Error Starting Recording
At least one target failed to launch; aborting run

Puis:

Target failed to run. Permisson to debug [app name] was denied. The app must be signed with a development identity (i.e. iOS Developer)

Des idées comment je pourrais empêcher cela de se produire? Cela ne se produit pas sur mon iPad.

Andrew
la source

Réponses:

217

Modifiez le schéma de votre cible et sous "Profil [Nom de l'application]", définissez la configuration de construction sur Déboguer (il s'agit généralement de Release par défaut).

harrywynn
la source
6
+1, merci, cela m'a aidé. J'ajouterais que je devais construire le projet après avoir défini la configuration sur Debug ou les instruments ne joueraient toujours pas à la balle.
Robert
4
Bien que je sache que cette "modification de la configuration en débogage" est incorrecte, je n'ai pas de remède à ce problème. De manière générale, il est beaucoup moins utile / courant de profiler une version de débogage.
user501138
1
C'est parce que Release utilise souvent un certificat de production.
Evgeny Aleksandrov
Je me suis assuré que le schéma de profil utilise la configuration de débogage (profil de développeur) et je rencontre toujours ce problème. Il s'agit d'un certificat de développeur d'entreprise, même si je ne m'attendrais pas à ce que cela soit important. Des pensées?
Brody Robertson
3
Je rencontre le même problème. Le profilage de votre application avec la configuration de débogage n'est pas un test de performances valide car le compilateur n'a pas optimisé le code comme il le fait pour Adhoc. Quelqu'un a-t-il découvert le problème AdHoc?
Fergal Rooney
34

Cela signifie que vous devez signer l'application avec un certificat de développeur (pas un certificat de distribution ).

Dans Xcode 5, modifiez simplement le "Provisioning Profile"champ de votre "Release"build dans les paramètres de build en votre certificat de développeur au lieu de votre certificat de distribution. Pour la durée du test de toute façon. Xcode ne vous permet pas de créer avec un certificat de distribution.

Assurez-vous que les paramètres de génération du projet ne remplacent pas les paramètres de génération cible ou n'apportent pas la modification aux paramètres de génération de votre projet .

N'oubliez pas de réinitialiser le profil une fois le test terminé .

Je ne recommande pas la méthode de harrywynn, car il est préférable de profiler la version de la version, car vous prenez alors en compte les optimisations du compilateur et vous avez l'expérience exacte de vos utilisateurs.

Zoltán Matók
la source
1
Tout d'abord, il a besoin d'un profil de développement, donc cela signifie qu'il doit être en mode débogage. Deuxièmement, à moins qu'Apple ne le modifie en profil de distribution, les développeurs iront probablement avec les versions de développement. Troisièmement, vous créez un profil, cela devrait être une version de développement (Debug). Quatrièmement, pourquoi utiliseriez-vous un profil de développement pour un schéma de version?
Angelo
4
"Tout d'abord, il a besoin d'un profil de développement, donc cela signifie qu'il doit être en mode débogage." Vous pouvez exécuter n'importe quelle configuration avec n'importe quel profil. "Troisièmement, vous créez un profil, cela devrait être une version de développement (Debug)" Vous devez profiler avec la version de version pour prendre en compte les optimisations du compilateur. Vous pourriez obtenir des résultats différents. "Quatrièmement, pourquoi utiliseriez-vous un profil de développement pour un schéma de version?" Parce que c'est la solution la plus simple à ce problème. Et vous devriez changer le profil lorsque vous êtes prêt à tester, comme je l'ai écrit dans ma réponse.
Zoltán Matók
9

Pour ajouter aux réponses précédentes.

  • Instruments se plaint de l' identité de signature .
  • Je pense qu'il est préférable de profiler en mode release, pour les mêmes raisons données par Zolten. (prenez en compte les optimisations du compilateur, et ayez l'expérience exacte de vos utilisateurs, etc ...)
  • Pour modifier votre identité de signature de code pour Xcode 6 :
    • Cliquez sur votre projet, sélectionnez la cible que vous profilez.
    • Paramètres de construction -> Signature de code -> Identité de signature de code -> Libérer
    • Sélectionnez votre profil de développeur iOS.
  • Profil de provisionnement: laissez Xcode choisir le bon profil de provisionnement pour vous, par exemple: passez en mode Automatique
  • Lorsque vous avez terminé avec le profil, revenez à vos paramètres normaux .

Voici une photo pour ceux qui sont très visuels;)

entrez la description de l'image ici

papa
la source
1

J'obtenais le même problème: [INST STDERR] Erreur de trace d'instruments: la cible n'a pas pu s'exécuter: l'autorisation de débogage a été refusée. L'application doit être signée avec une identité de développement (par exemple, iOS Developer).

Solution: 1. J'ai archivé l'application avec le profil de développeur de débogage dans xcode pour l'appareil. 2. Allez dans Fenêtre -> Organisateur -> pour voir toute la liste des archives 3. Sélectionnez maintenant l'archive à exporter et ouvrez-la dans le Finder 4. Faites un clic droit et affichez le contenu du package 5. Allez dans le dossier Produits / Applications Vous verrez le fichier .app.

Utilisez ceci à la place de l'ipa.

Assurez-vous que l'appareil a déjà été ajouté au portail des développeurs et que tous les certificats y sont installés pour que les étapes ci-dessus fonctionnent.

Une fois que cela est en place. Assurez-vous également d'obtenir le proxy ios-webkit-debug-proxy à partir du lien ci-dessous:

https://github.com/appium/appium/blob/master/docs/en/advanced-concepts/ios-webkit-debug-proxy.md

Activez également les outils de développement sur les paramètres de l'appareil. Assurez-vous également que l'inspecteur Web de safari (safari -> Développer) -> Inspecteur est sur J'espère que cela aidera :-)

REMARQUE: lorsque vous souhaitez qu'appium installe l'application sur l'appareil pour vous, ne fournissez pas d'identifiant de bundle.

swathy valluri
la source
Le fichier de l'application se trouve sous Produits -> Applications sous le contenu du package
swathy valluri
0

J'ai réussi à résoudre ce problème sur ma machine en faisant ceci:

  • Générez un nouveau profil de provisionnement de développeur avec votre appareil dans la liste ou au moins assurez-vous que votre machine figure dans la liste de l'appareil du profil.
  • Dans les paramètres du projet -> Signature de code -> Profil de provisionnement -> Débogage: définissez le profil nouvellement créé.
  • Dans les paramètres des cibles -> Signature de code -> Profil de provisioning -> Débogage ET Release: définissez le profil nouvellement créé.

J'espère que cela pourra aider.

Seb
la source
0

J'ai réalisé ce que signifie «au moins une cible n'a pas pu être lancée». Il semble que les deux schémas de développement et de libération (si vous avez un système de mise au point et un système de libération) doit avoir une identité de développement.

J'avais sélectionné le schéma de débogage lors de l'exécution du profileur et le message en haut de XCode disait "Running debug". Cependant, il semble que cela ne soit pas suffisant.

J'ai changé l'identité de signature de code de mon schéma de version pour qu'elle soit la même que le schéma de débogage (ainsi que le profil d'approvisionnement), et le problème a disparu.

Mat
la source
0

cela fonctionne .. quand j'ai changé mon schéma de profil en mode débogage et que je me suis également assuré que les configurations de construction contiennent un certificat de développeur. Merci

ck8414
la source
0

Aucune des autres solutions ici n'a résolu mon problème, mais j'ai déterminé que ce n'était qu'un problème pour moi sur le simulateur. L'appareil fonctionne bien. Il y a peut-être un problème avec le simulateur.

John Bushnell
la source
0

J'ai rencontré ce problème avec Xcode 9.1 pour les simulateurs et les appareils, et mon schéma de fonctionnement était déjà défini comme profilage avec "Debug". J'ai finalement trouvé cette discussion du forum Apple très utile et a résolu le problème. En bref, la solution qui a fonctionné pour moi est ... Redémarrez le Mac.

CodeBrew
la source