web-dev-qa-db-fra.com

Xcode: impossible d'obtenir la tâche pour le processus

J'ai lancé en mode de libération mon application sur un iPhone avec Xcode 4.

Tout a bien fonctionné jusqu'à ce que je passe au simulateur et que je revienne à l'iPhone. Après le retour en arrière, l'application est lancée sur l'iPhone, mais l'écran d'accueil s'affiche immédiatement après et dans Xcode, je reçois:

failed to get the task for process 

J'ai essayé de supprimer/ajouter le fichier de droits, supprimer l'application et redémarrer Xcode, mais rien à faire.

251
aneuryzm

Je parie que votre mode de publication inclut la compilation avec votre certificat de distribution, ce qui interdit ce comportement (vous ne voudriez pas que certains imbéciles se connectent de manière aléatoire à votre application après l'avoir téléchargée depuis l'App Store). Compilez plutôt avec le certificat de développement. Vous pouvez modifier cela dans les paramètres du bâtiment sous la signature du code.

656
borrrden

Modifiez le profil pour la signature de code. Sélectionnez votre projet, puis sélectionnez Paramètres de construction> Identité de signature de code. Basculer vers un autre profil de développeur.

Si des personnes rencontrent ce problème, mais s’assurent que les certificats et la signature du code sont correctement configurés, consultez l’onglet Fonctions lorsque vous cliquez sur le projet (c’est-à-dire l’onglet Paramètres de construction, Onglet phases de construction, etc.).

Dans mon cas, des liens rompus pour les achats dans le Centre de jeu et les achats intégrés nécessitaient une correction (en cliquant sur les boutons "Réparez-moi") pour résoudre ce problème.

7

Après avoir lu ceci, j’ai tenté de résoudre le problème en configurant la signature Debug sur mon certificat de développement pour constater que le déploiement échouait toujours.

Il s'avère que ma cible était Version et que, par conséquent, je continue à signer avec le certificat de distribution - revenez à la cible Debug ou modifiez temporairement la signature de la version en développement.

4

J'ai eu le même problème et après avoir lu les réponses ci-dessus, tout ce que j'avais à faire, c'était d'aller dans Paramètres de construction> Signature du code> Profil de provisioning> Aucun et j'ai pu exécuter l'application à nouveau sur mes appareils. J'espère que cela aide quelqu'un d'autre à sortir

4
DamongoCoder

Je suis revenu sur "Automatique" sur le profil d'approvisionnement des paramètres de construction pour "Débogage" et j'ai laissé le profil du certificat de version inchangé. J'ai essayé les autres réponses. rien n'a fonctionné. Je ne voulais pas avoir à reconfigurer mes certificats. Automatique sur le profil d'approvisionnement a fait le tour

 screenshot

3
abiodun ekundayo

Obtenez juste le même problème en installant mon application sur iPhone 5S avec le profil de distribution

-> ma solution consistait à activer les fonctionnalités définies dans le profil de distribution (dans mon cas, "partage de trousseau", "achat intégré" et "centre de jeux").

J'espère que ça aide quelqu'un ...

2
Alexej W.

Si vous avez défini le bon certificat de signature de code sous Build Settings-> Code Signing , assurez-vous également que vous utilisez également le profil d'approvisionnement approprié pour le mode Debug/Release.

J'avais ce problème parce que j'utilisais un profil d'approvisionnement Ad-Hoc pour les deux modes Debug/Release, ce qui ne permet pas d'utiliser un profil de développement lors de la création d'un débogage.

1
nenchev

Je viens d'avoir le même problème - l'application était en cours d'installation, mais elle ne s'exécutera pas à partir de Xcode avec le message "le lancement du processus a échoué: échec de l'obtention de la tâche pour le processus".

Il s'avère que mon certificat de développement a expiré pendant la nuit. La régénération du certificat et des profils d'approvisionnement a résolu le problème.

1

J'ai eu ce problème en essayant de déboguer une application sur un appareil que je n'avais pas utilisé auparavant. Le profil du développeur a été correctement défini. L'appareil faisait partie du compte de notre équipe mais n'était pas inclus dans mon profil.

Il fallait simplement ouvrir Organizer -> Sélectionner le périphérique -> Ajouter au centre des membres

0
Kevin Hawker

L'identifiant de signature du code de développeur est correct, mais assurez-vous également que votre appareil est ajouté au centre des membres via l'organisateur ou via le portail des développeurs.

Il y a quelques jours, j'ai réinitialisé ma liste de périphériques et aujourd'hui, je l'avais subitement pour un iPod avec lequel je débogue tout le temps. Environ 15 minutes plus tard, j'ai réalisé le problème.

0
hawkeyecoder

J'ai eu ce même problème, mais dans une situation un peu différente. Un jour, mon application démarre correctement (à l'aide de la disposition pour les développeurs), puis j'effectue des modifications mineures dans mon fichier Entitlements, puis cesse de fonctionner. L’application s’est bien installée sur mon appareil, mais chaque fois que j’essayais de la lancer, elle sortait instantanément (après l’animation d’ouverture). (En modifiant également d'autres fichiers, je ne soupçonnais pas le problème suivant)

Le problème était dans le format de fichier Droits, semble donc que les déclarations suivantes ne sont pas les mêmes:

Correct:

<key>get-task-allow</key>
<true/>

Incorrect:

<key>get-task-allow</key>
<true />

Bien que ce soit un format XML, n'utilisez pas d'espaces dans la balise ou le Xcode ne pourra pas se connecter au processus.

J'utilisais le profil d'approvisionnement des développeurs depuis le début.

0
Sipka

J'ai eu ce problème après avoir créé un nouveau certificat de développeur.

Ce qui suit était déjà correct: L'ancienne clé privée a été supprimée du trousseau, tous les profils mis à jour, la configuration de la construction et les paramètres de signature étaient corrects. Pourtant j'ai eu ce problème.

Solution: .__ J'ai dû redémarrer Xcode (5.1.1), car il n'était pas au courant de mon nouveau certificat de développeur. J'ai également supprimé les profils obsolètes de mes appareils, juste pour être sûr et nettoyer.

0
thetrutz