158 votes

Débogage de l'iPhone : Comment résoudre le problème de l'échec de l'obtention de la tâche pour le processus ?

Je viens d'ajouter un profil d'approvisionnement à XCode (nécessaire pour prendre en charge les notifications et l'achat dans l'application), de configurer comme il se doit la configuration de construction pour la distribution ad hoc, et j'ai essayé d'exécuter l'application sur l'appareil (j'ai fait cela 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 l'appareil, elle fonctionne comme prévu. J'ai récemment installé la dernière version de XCode 3.2 pour Snow Leopard. S'agit-il d'un bogue connu de cette version de XCode ou est-ce que je fais quelque chose de mal ?

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

289voto

cdespinosa Points 14277

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.

110voto

fbrereto Points 21711

J'ai eu des problèmes pour déboguer des binaires sur l'appareil via XCode lorsque l'application inclut un fichier Entitlements.plist, qu'il n'est pas nécessaire d'installer sur l'appareil pour le débogage. En général, j'ai donc inclus ce fichier dans les versions de lancement (lorsqu'il est requis pour l'App Store) et je l'ai supprimé pour le débogage (afin de pouvoir déboguer l'application depuis XCode). C'est peut-être là que réside votre problème.

Mise à jour : Depuis (au moins) août 2010 (iPhone 4.1 SDK), il n'est plus nécessaire d'inclure le fichier Entitlements.plist dans votre application dans de nombreux cas (par exemple, pour la distribution par l'App Store). ici pour plus d'informations sur les cas où Entitlements.plist est nécessaire :

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

37voto

Aks Points 369

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é debug plutôt que release.
  2. Dans les configurations Debug, dans les paramètres du projet, vous devriez avoir sélectionné le profil du développeur et il n'est pas nécessaire de spécifier la plist des droits.
  3. Les mêmes paramètres sont également présents en dessous : Cibles : si ce n'est pas le cas, modifiez-les manuellement pour la configuration de débogage. Cela fonctionnera.

Tous les meilleurs.

19voto

Atma Points 5393

Cela m'a pris un certain temps à comprendre.

Si vous utilisez une distribution / ad hoc / profil vous ne pouvez pas le tester à travers xcode. Vous obtiendrez l'erreur suivante : Le programme en cours de débogage n'est pas exécuté.

Vous pouvez construire l'application, aller dans le dossier des produits de votre application dans xcode, cliquer sur le fichier avec le nom de votre projet et choisir révéler dans le finder. Vous pouvez faire glisser cette application dans iTunes et la synchroniser. Vous pouvez alors tester votre application sur votre appareil.

13voto

vabhatia Points 861

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, alors la seule erreur possible est que l'application est empaquetée avec un profil de distribution. Vous pouvez vérifier cela en confirmant les journaux de construction. Pour changer cela, allez dans Build Setting du projet et vérifiez le paramètre Code Signing Entity. 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 des résultats instantanés, supprimez tous les profils de provisionnement mobile de xcode et installez le profil de développeur que vous avez l'intention d'utiliser.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X