web-dev-qa-db-fra.com

Débogage iPhone: Comment résoudre le problème "échec de la tâche à exécuter"?

Je viens d'ajouter un profil d'approvisionnement à XCode (nécessaire pour prendre en charge les notifications et l'achat dans une application), configurer au besoin la configuration de construction pour la distribution ad hoc et essayer d'exécuter l'application sur le périphérique (je l'ai déjà fait plusieurs fois dans le passé). , sans aucun probléme).

L'application est installée, mais elle ne démarre pas. Sur la console, je vois le message suivant:

Error launching remote program: failed to get the task for process 82.
Error launching remote program: failed to get the task for process 82.
The program being debugged is not being run.
The program being debugged is not being run.

Cependant, si je lance manuellement l'application sur le périphérique, cela fonctionne comme prévu. J'ai récemment installé la dernière version de XCode 3.2 pour Snow Leopard. Est-ce un bug connu de cette version de XCode ou est-ce que je fais quelque chose de mal?

EDIT: Cela fonctionne bien avec la distribution de version utilisant le profil de mise en service de développement. J'ai vérifié à nouveau le profil d'approvisionnement ad hoc pour m'assurer qu'il inclut le périphérique que j'utilise.

158
Massimo Cafaro

J'ai eu des problèmes pour déboguer des fichiers binaires sur le périphérique via XCode lorsque l'application inclut un fichier Entitlements.plist, qu'il n'est pas nécessaire d'installer sur le périphérique pour le débogage. En général, alors, j'ai inclus ce fichier pour les versions (où il est requis pour l'App Store) et je l'ai supprimé pour le débogage (afin que je puisse déboguer l'application à partir de XCode). C'est peut-être votre problème ici.

Mise à jour : à compter du (au moins) août 2010 (iPhone 4.1 SDK), Entitlements.plist n'est plus nécessaire d'inclure dans votre application dans de nombreux cas ( par exemple, distribution via l'App Store.) Voir ici pour plus d'informations sur les cas dans lesquels Entitlements.plist est requis:

IMPORTANT: Un fichier de droits n'est généralement nécessaire que lors de la création d'une distribution ad hoc ou de l'activation du partage de données par trousseau. Si aucun de ces éléments n'est vrai, supprimez l'entrée dans Droits de signature de code. (c'est moi qui souligne)

110
fbrereto

Le profil ad-hoc ne prend pas en charge le débogage. Vous devez déboguer avec un profil de développement et utiliser le profil Ad-Hoc uniquement pour distribuer des copies non déboguables.

289
cdespinosa

J'ai eu le même problème, mais je l'ai résolu en suivant les étapes simples suivantes:

  1. Assurez-vous que vous avez sélectionné le débogage plutôt que la publication.
  2. Dans les configurations de débogage, dans les paramètres du projet, vous devez avoir sélectionné le profil du développeur et nul besoin de spécifier le plist de droits.
  3. Les mêmes paramètres sont également disponibles sous: Cibles:, sinon, remplacez-les manuellement pour la configuration de débogage. Ça va marcher.

Bonne chance.

37
Aks

Cela m'a pris un certain temps à comprendre.

Si vous utilisez un profil de distribution/ad hoc /, vous ne pouvez pas le tester avec xcode. Vous obtiendrez l'erreur suivante: le programme en cours de débogage n'est pas en cours d'exécution.

Vous pouvez créer l'application, aller dans le dossier des produits de votre application dans xcode, cliquer sur le fichier portant le nom de votre projet et choisir Afficher dans le Finder. Vous pouvez faire glisser cette application dans iTunes et la synchroniser, ce qui vous permet de tester votre application sur votre appareil.

19
Atma

Presque 2h sur ce sujet! Et finalement je l'ai résolu en remplaçant le

développeur iPhone

à

développeur iPhone: Nom de mon compte de développement

pour Debug's CODE_SIGN_IDENTITY:

  1. Sélectionnez la cible du projet
  2. Paramètres de construction
  3. Rechercher par "code"
  4. Modifiez la ligne de débogage de la section CODE_SIGN_IDENTITY avec "Développeur iPhone: nom de mon compte de développeur" , pas seulement. "Développeur iPhone" .

Je ne sais pas pourquoi ça marche, mais ça marche! Au moins pour moi!


Environnement: Xcode 5.0 (5A1412).

13
Kjuly

Si vous obtenez une telle erreur, la seule raison pourrait être que vous utilisez un profil de distribution plutôt qu'un profil de développement dans Xcode ou une propriété Entitlement manquante. Si vous n'utilisez pas Entitlements.plist, la seule erreur possible pourrait être que l'application est emballée avec un profil de distribution. Vous pouvez vérifier ceci en confirmant les journaux de construction. Pour changer cela, allez dans Paramètre de construction du projet et vérifiez le paramètre Entité de signature de code. Pour que le débogage fonctionne, ce paramètre doit être un profil de développeur pour la configuration que vous utilisez actuellement.

https://developer.Apple.com/library/ios/#qa/qa1682/_index.html

Pour obtenir des résultats instantanés, supprimez tous les profils de provisioning mobile de xcode et installez le profil de développeur que vous souhaitez utiliser.

13
Varun Bhatia

Vérifiez votre section de signature de code. Assurez-vous que la signature de code est bien iPhoneDeveloper code

12
user1770342

Ouvrez Entitlements.plist et définissez la valeur booléenne get-task-allow sur YES - le débogueur peut attacher maintenant!

9
Kai

Allez dans Edit Schemes et sous Run -> Info -> Build Configuration, passez d’Ad-Hoc à Debug. Cliquez sur OK pour enregistrer.

4
Das

Il se peut que votre profil de développement ait expiré sur votre téléphone.

Mon profil d'approvisionnement de développement a expiré il y a plusieurs jours et j'ai dû le renouveler. J'ai installé le nouveau profil sur mon téléphone et le même message d'erreur est apparu lorsque j'ai essayé de lancer mon application. Lorsque j'ai consulté les paramètres de profil de mon téléphone, j'ai remarqué que le profil avait expiré et je l'avais supprimé. Cela a effacé l'erreur pour moi.

1
hkatz

J'ai reçu cette erreur lorsque j'ai essayé de lancer une application à partir de Xcode car je pensais avoir sélectionné le profil de distribution uniquement. La construction a réussi, j'ai donc créé le fichier .ipa. J'ai utilisé testflightapp.com pour exécuter l'application. Vous pouvez également utiliser iTunes.

1
bugle

Comme indiqué par Buffernet, vous ne pouvez pas utiliser un profil d'approvisionnement de distribution pour déboguer. Lorsque je suis passé à un profil de provisioning pour développeur, le message d'erreur "Un profil de provisioning valide pour cet exécutable était introuvable" a été détecté.

Un rapide google pour cela m'amène à l'article ci-dessous. À partir de là, j'ai réalisé que je n'avais pas de profil de provisioning de développement valide, mon iPhone n'ayant pas été ajouté au portail de provisioning et à tout le reste.

Assurez-vous d'exécuter un profil de provisioning pour développeur iPhone et que votre appareil a été ajouté au portail de provisioning!

http://iosdevelopertips.com/xcode/a-valid-provisioning-profile-for-this-executable-was-not-found.html

1
Jarada

Je viens de changer mon nom de bundleIdentifier, qui semblait faire l'affaire.

0
Joe Barbour

Oui, les profils d'approvisionnement utilisés à des fins de distribution, c'est-à-dire que les profils d'approvisionnement de distractions ne prennent pas en charge le débogage et donnent cette erreur. Créez et utilisez simplement le profil d'approvisionnement de débogage (prenez-en soin lors de la création du profil d'approvisionnement à partir du compte developer.Apple.com).

0
Rakesh