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

243

Il s'agit d'une application existante qui a été compilée et distribuée plusieurs fois. Depuis la mise à jour vers Xcode 5, cette erreur apparaît.

  1. J'ai mon profil de développeur sélectionné dans la signature de code pour le débogage.
  2. Supprimé les données dérivées plusieurs fois.
  3. Quittez plusieurs fois
  4. Téléchargé et essayé de rajouter mes certificats de développeur.
  5. Réinitialisez mon ordinateur! Et vérifié les mises à jour
  6. J'ai essayé en utilisant la magie noire!
  7. Le schéma> Configuration de la construction est défini sur Debug

Les circonstances étranges que je compile pour compiler vers iOS 6.1 afin que je puisse exécuter sur mon iPhone 3GS - la base est le SDK iOS 7? Serait-ce un problème? J'ai juste besoin de le tester avant de trouver un téléphone plus récent avant de le changer pour iOS 7.

elliotrock
la source
2
Vérifiez votre schéma pour vous assurer que vous exécutez réellement en mode débogage.
borrrden
J'ai oublié de mentionner le schéma> La configuration de la construction est définie sur Debug
elliotrock
Je reçois également ce problème. Dans Xcode 4.x, aucun problème. Tous les paramètres semblent être les mêmes. Les symboles de débogage ne doivent pas être supprimés dans "debug" et le schéma exécute "debug" pour "Run". C'est mon seul code qui a ce problème. J'utilise des notifications push et des trousseaux partagés dans ce code.
DBD
Je vais reconstruire le projet dans xcode5 en triant simplement les trucs de repo
elliotrock

Réponses:

490

Cette erreur a tendance à apparaître lorsque vous choisissez un profil d'approvisionnement ad hoc. Assurez-vous que votre signature de code est destinée au développement.

hasan
la source
2
Je vous suggère de créer un nouveau profil d'approvisionnement dans le centre de développement qui inclut votre appareil. puis téléchargez-le et utilisez-le. Je suis sûr que cela fonctionnera.
hasan
7
Build Settings> Provisioning Profile set to 'None' fonctionne pour le débogage sur l'appareil.
David Douglas
7
Soit dit en passant, vérifiez que cela se fait dans les paramètres de construction du projet et de la cible (en particulier, Target a la priorité la plus élevée, donc si vous m'aimez passer 30 minutes en modifiant le projet et que vous ne réalisiez pas que la cible était différente, vous le ferez apprenez ceci ...)
viggio24
1
Avec XCode 6, j'ai dû actualiser mes profils d'approvisionnement avec un compte de développeur afin que je puisse voir le profil d'approvisionnement d'équipe iOS dans les paramètres de construction. Pour actualiser: XCode> Préférences> Comptes> Identifiants Apple> Afficher les détails> bouton Actualiser en bas.
kalana
1
Parfois, cette solution ne fonctionne pas si vous ne redémarrez pas xcode. @ hasan83 cela se produit toujours
albanx
90

Cette erreur se produit si vous avez utilisé un profil d'approvisionnement de distribution pour le débogage sur le périphérique.

Allez à

Build Settings> Provisioning Profileet set to 'None' for Debugging.

David Douglas
la source
2
C'est la bonne réponse pour la plupart des gens, je suppose.
John
39

J'ai finalement résolu ce problème en me souvenant de définir les paramètres de signature de code et d'approvisionnement dans les deux onglets projet et cible ...

IMT
la source
6
Oui. C'était ça. Encore 30 minutes perdues grâce à l'interface utilisateur carrément débile de Xcode. Merci pour la sauvegarde là-bas!
n13
Cela me sauve! Merci beaucoup!
Evgeniy Kleban
32

Lorsque votre appareil est connecté à votre ordinateur avec un câble et que vous créez + exécutez votre application, votre appareil essaie de déboguer. Le débogage n'est autorisé que pour les profils de développement.

  1. Si vous construisez + exécutez avec un profil de développement + un code de signature de développement, tout ira bien

  2. Si vous créez + exécutez avec un profil de distribution AppStore + un code de signature de distribution, l'application n'atteindra même pas votre appareil. Cette version est uniquement destinée au téléchargement sur AppStore

  3. Si vous construisez + exécutez avec un profil de distribution AdHoc + un code de signature de distribution, vous obtiendrez l'erreur "Impossible d'obtenir la tâche pour le processus ...", mais l'application sera installée sur votre appareil. Débranchez l'appareil et exécutez l'application depuis votre appareil. Il fonctionne dans un environnement de distribution. Prendre plaisir :)

Alex Christodoulou
la source
Je pense que pour 'AdHoc Distribution profile', vous devez également faire confiance à l'équipe de développeurs ...
Honey Il y a
14

METTRE À JOUR:

Xcode 5.1 semble corriger la liste déroulante de sorte qu'il affiche désormais un "(bla bla)" chaque fois que deux profils ont le même nom. Cela vous permet de choisir la bonne. Ce qui est bien mieux :)


Mordu par cela plusieurs fois. Xcode5 affiche "Provisioning Profile" comme un seul champ, QUI EST TOUJOURS INCORRECT et Apple NE DEVRAIT PAS avoir codé son interface graphique de cette façon (erreur de débutant là-bas d'Apple).

Dans Xcode5 (pas de version précédente), vous avez deux valeurs de "Provisioning Profile". Cela DOIT ÊTRE défini AVANT de définir votre «identité de signature de code». De toute évidence, puisqu'il doit être défini en PREMIER ... Apple l'a placé EN DEUXIÈME sur la liste, 3 éléments EN DESSOUS de la chose qu'il doit être défini "avant".

(points bonus pour la terrible conception de l'interface graphique là-bas ...)

Il est également cassé: si vous avez deux profils d'approvisionnement pour le même nom, Xcode5 vous permettra uniquement de sélectionner l'un d'entre eux. Pour contourner ce problème, vous devez utiliser l'utilitaire de configuration iPhone pour trouver le profil souhaité, trouver l '"identificateur de profil" à 30 chiffres et le copier / coller dans la valeur "Autre" de la liste déroulante Profil de provisionnement.

Votre profil de provisioning DOIT avoir une valeur pour «Debug» et une valeur différente pour «Release» (sauf si vous créez un méga-profil personnalisé à la main, Apple garde les deux séparés).

Le profil de débogage aura souvent le bogue du même nom décrit ci-dessus - la plupart des gens utiliseront le profil de provisionnement d'équipe généré automatiquement par Apple, qu'Apple nomme toujours incorrectement de la même manière, pour toutes les cibles, dans tous les projets. (un autre bug dans Xcode5).

Une fois que vous avez défini les deux valeurs, votre champ "Identité de signature de code" commencera enfin à fonctionner correctement. En fait, cela fonctionne bien: dans la plupart des versions précédentes de Xcode, ce champ était cassé et la sélection "automatique" fonctionnait rarement. Dans Xcode5, il peut SEULEMENT utiliser des valeurs de signature de code trouvé dans le Provisioning profil que vous avez pré-sélectionnés - et il semble obtenir 100% correct du temps de hte.

(c'est-à-dire que vous pouvez le régler en toute sécurité sur "Automatique". Dans les versions précédentes de Xcode, Xcode utilisait souvent "Automatiquement" un profil de distribution pour une version Developer, et vice-versa, ce qui causait beaucoup de problèmes)

Adam
la source
NB en utilisant la v7.3 de Xcode et il choisit toujours parfois le mauvais profil d'approvisionnement lorsqu'il est défini sur "Automatique", ce qui entraîne cette erreur.
Ash
12

Sur la base de ma recherche actuelle, l'erreur "Impossible d'obtenir la tâche pour le processus" à xcode 5 peut se produire pour plusieurs raisons:

  1. La première est que nous déboguons une application qui est signée avec un profil de distribution ad hoc de distribution.
  2. Une autre raison est que xcode5 n'a pas pu trouver le profil de disposition de développement correct, bien que l'identité de signature de codage contienne l'identité de signature du développeur.

Pour moi, c'est le deuxième cas qui semble être le cas également pour cette question.

Je suis en mesure de résoudre ce problème en modifiant la liste déroulante du profil de disposition de débogage au profil de disposition de développement correct, puis en essayant de charger l'application sur le périphérique réel. Xcode donnerait cette erreur ci-dessous: entrez la description de l'image ici

cliquez sur "Résoudre le problème" pour continuer, xcode 5 résoudrait le problème. Une fois le problème résolu, le profil de mise à disposition pour le débogage est réinitialisé sur "Aucun" à nouveau, mais vous ne savez pas pourquoi xcode ferait cela.

windfly2006
la source
Je suis coincé dans une boucle ici - cliquer sur `` Résoudre le problème '' prendra environ 15 secondes pour parler au serveur, puis créer l'application, immédiatement suivie de la même invite pour résoudre le problème.
Chris
Je ne sais pas pourquoi il en est ainsi dans votre cas, j'ai juste essayé la même chose il y a quelques jours, cela a fonctionné à nouveau.
windfly2006
+1 pour: débogage d'une application signée avec un profil de distribution ad hoc de distribution. C'est ça mon problème.
John Erck
4

J'ai eu ce problème et comme une fois que j'avais défini à la fois le CODE_SIGN_IDENTITY et le PROVISIONING_PROFILE , tout fonctionne bien,

Veuillez noter que cela a changé dans Xcode 5, la version précédente n'avait aucune entrée pour PROVISIONING_PROFILE dans les paramètres de construction

//:configuration = Adhoc
CODE_SIGN_IDENTITY = iPhone Distribution: orgname
CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Distribution: orgname

Notez qu'ici, j'ai dû écrire manuellement le développeur de l'iphone dans la deuxième entrée car la sélection automatique ne semblait pas fonctionner

//:configuration = Debug
CODE_SIGN_IDENTITY = iPhone Developer: Joe Bloggs (0A0AA00A00)
CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Developer: Joe Bloggs (0A0AA00A00)

//:configuration = Release
CODE_SIGN_IDENTITY = iPhone Distribution: orgname
CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Distribution: orgname

Ensuite, mettez à jour et les paramètres du profil d'approvisionnement

ajouter vos identifiants de profil 0000 sont juste pour la confidentialité

//:configuration = Adhoc 
PROVISIONING_PROFILE = 11111111-1111-1111-1111-111111111111
PROVISIONING_PROFILE[sdk=iphoneos*] = 11111111-1111-1111-1111-111111111111

//:configuration = Debug
PROVISIONING_PROFILE = 00000000-0000-0000-0000-000000000000
PROVISIONING_PROFILE[sdk=iphoneos*] = 00000000-0000-0000-0000-000000000000

//:configuration = Release
PROVISIONING_PROFILE = 22222222-2222-2222-2222-222222222222
PROVISIONING_PROFILE[sdk=iphoneos*] = 22222222-2222-2222-2222-222222222222
Kodejack
la source
4

Essayez de redémarrer XCode

Après avoir défini les paramètres de provisionnement et de signature de code à partir de toutes ces suggestions, un redémarrage a finalement permis de l'exécuter avec Provisioning défini sur aucun et Code Signing défini sur iOS Developer (automatique).

Frank Yin
la source
4

Il peut être encapsulé par des profils d'approvisionnement. Pour mon cas, j'ai essayé d'exécuter l'application sur mon téléphone et le profil d'approvisionnement a été défini sur le profil adhoc (XC Ad Hoc), d'où l'erreur. Je dois le changer en profil d'équipe iOS géré par xcode (pour éviter le travail manuel sur le centre de développement).

superarts.org
la source
3

en fait, c'est votre profil d'approvisionnement - Le débogage est incorrect。

Steven Li
la source
2

La réponse de hasan83 a fonctionné pour moi. Le provisionnement ad hoc donnait cette erreur et mon appareil n'était pas non plus inclus dans ce fichier de provisioning. J'ai défini automatique pour l'approvisionnement et construit. Xcode a invité à résoudre le problème et a donc résolu le problème en téléchargeant et en définissant le fichier d'approvisionnement du développeur.

Zeeawan
la source
2

Dans mon cas, c'est parce que le schéma sélectionné Run actionpointe vers un autre Target, dont la valeur Code Signing IdentityestiPhone Ditributor

onmyway133
la source
Quel message d'erreur terriblement non descriptif pour un simple problème. Cela m'a fait gagner beaucoup de temps, merci.
jungledev le
1

Je n'ai pas accepté les réponses ci-dessus car il y avait une chaîne de problèmes que je devais résoudre:

  1. SDK tiers non défini en tant que distribution.
  2. Le SDK tiers n'est pas réglé sur arm64, ce que je pense avoir causé car j'ai en vain résolu le problème compilé sur arm64.
  3. Nécessaire pour effacer tous les anciens certificats et en ajouter de nouveaux d'Apple. C'est une bonne chose à faire.
  4. Xcode 5 cache maintenant les certificats et les profils dans les préférences, ce qui ajoute des frustrations.
  5. Assurez-vous ensuite que les profils de mise à disposition corrects sont sélectionnés dans les paramètres de débogage et de libération dans vos paramètres de génération.

Comme toujours merci pour l'aide des gens.

elliotrock
la source
1

Donc, après avoir testé toutes ces options, la façon dont je pense que c'est correct est que vous devez maintenant créer un profil d'approvisionnement pour le développement, pas seulement pour la distribution. allez dans le volet des préférences et sous les profils d'approvisionnement, cliquez sur créer un nouveau, sélectionnez le développement, puis allez dans les paramètres de génération et définissez la signature sur automatique (cela sélectionnera l'approvisionnement correct), cela me l'a fait.

Je m'attendais à ce qu'Apple soit plus informatif lors de changements comme celui-ci

à votre santé,

G.

samiq
la source
1

Merci à toute l'aide dans les autres réponses, je l'ai résolu comme ceci:

  • Nouveau projet vide créé
  • Je l'ai exécuté sur l'appareil - cela a bien fonctionné
  • Dans l'ancien projet, ouvrez l'onglet "Projet, Cibles".
  • Dans Project, définissez Toutes les propriétés de signature de code sur le même que le nouveau projet vide (tout est désactivé dans mon cas)
  • Dans Target, faites de même pour votre cible.

À ce stade, il est difficile de dire quel paramètre est pour quel mode de fonctionnement, alors je viens de commencer à partir d'un projet où tout fonctionne.

n13
la source
1

Juste eu le même problème - l'application était en cours d'installation, mais ne fonctionnera pas à partir de Xcode avec le "échec du lancement du processus: impossible d'obtenir 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.

Côte maritime du Tibet
la source
1

Ce problème m'est arrivé car j'ai supprimé une 'Configuration' sous Project => Info.

Pour résoudre ce problème, accédez à «Produit» => «Schéma» => «Gérer les schémas». Modifiez le schéma actif et vérifiez si la «Configuration de construction» ne spécifie aucune configuration supprimée pour chaque processus (Exécuter, Tester, etc.).

thijsonline
la source
1

Dans mon cas, Xcode n'a pas pu définir automatiquement le bon profil de développeur iOS pour la configuration de la construction de débogage. Je devais le régler manuellement sur iPhone Developer: My Name (XXXXXX):

Paramètres de build cible → Signature de code → Identité de signature de code → Débogage.

Pavel Alexeev
la source
1

Dans mon cas, je ne peux pas définir le profil d'approvisionnement sur «aucun» car j'ai besoin d'un profil d'approvisionnement pour la notification push. Donc, ce que j'ai fait, c'est que je viens de créer un autre profil d'approvisionnement sur le développeur Apple, un profil d'approvisionnement pour le développeur iOS (pas la distribution iOS), lié au même ID d'application. Utilisez ensuite ce profil d'approvisionnement pour votre application dans l'onglet Paramètres de build.

Chen Li Yong
la source