web-dev-qa-db-fra.com

Xcode 9: impossible d'attacher à pid

J'ai été confronté (fréquemment) à un problème avec la récente version majeure de l'outil de développement d'applications iOS, Xcode 9-beta.

Cela me montre fréquemment l'erreur suivante lors de l'exécution/du débogage d'une application dans Simulator (iOS 11).

Impossible de joindre au pid: “2370”
Assurez-vous que <titre du projet> n'est pas déjà en cours d'exécution et que <nom d'utilisateur du système> est autorisé à le déboguer.

Voici un instantané pour le même problème:

 error message - Could not attach to pid

Quelle serait la solution permanente à ce problème, car cela dérange fréquemment?

45
Krunal

Si le problème est sur OS Mojave et que vous essayez, comme moi, de exécuter des tests sur ancienne version de Xcode (inférieure à 10.0), assurez-vous que , lorsque vous sélectionnez Test, le fichier exécutable de débogage est désactivé

 enter image description here

Vous ne pourrez pas déboguer les tests à partir de ce point

30
ninja_iOS

Ce n’est toujours pas une solution permanente, mais j’ai dû quitter et redémarrer XCode car les autres solutions ne fonctionnaient pas pour moi. 

16
PicklesIIDX

Cela a fonctionné pour moi:

_ {Edit Scheme -> Info -> Executable -> Ask on launch)

Crédits à la réponse de @ nastya-gorban ici

Mettre à jour

Après avoir passé beaucoup de temps avec des exemples de rapports de bogues Apple, ils ont pratiquement ignoré le problème, car l’utilisation de certificats manuels n’est pas "attendue".

En résumé, si vous n'avez pas de compte professionnel et donc de multiples développeurs sur le même compte, vous devriez pouvoir utiliser en utilisant la signature automatique et ne pas voir le problème.

Si vous avez un compte professionnel avec plusieurs utilisateurs (ce qui, selon moi, casserait la signature automatique), voici leur suggestion:

Nous vous suggérons d'utiliser la signature automatique pour vos versions de débogage et signature manuelle pour vos versions de distribution.

7
Efren

J'ai eu ce problème aussi. Il semble y avoir un problème d'avoir deux versions de Xcode installées en même temps. (9.4.1 et 10.0 Beta)

Cela fonctionne avec la version bêta, mais pas avec la version stable. Tout est défini sur les outils de la version stable de Xcode 9.4.1. Je ne peux exécuter mes tests unitaires qu'avec la version bêta.

Après avoir supprimé la version bêta, cela fonctionnait avec la version stable.

6
Maik639

Tuer mon simulateur puis le relancer à partir de Xcode.

6
user2421755

supprimer les données dérivées et nettoyer le projet, attendre que le traitement soit terminé, cela peut prendre un certain temps. L'idée est de donner un peu de temps de traitement. Fonctionne bien après ça

4
Divya

Dans mon cas (Xcode 10.1), c'était l'erreur dans la console:

kernel  macOSTaskPolicy: (com.Apple.debugserver) may not get the taskport of (bin) (pid: 10132): (bin) is hardened, (bin) doesn't have get-task-allow, (com.Apple.debugserver) is a declared debugger

La solution a donc été de désactiver le runtime renforcé, de nettoyer le dossier de construction et de l'exécuter à nouveau.

3
aONe

Je voyais cela dans Xcode 10.2 et la cause pour moi était que lldb-rpc-server se bloquait. J'ai résolu le problème en veillant à ce que Address Sanitizer ou Thread Sanitizer soit activé dans les options de débogage. J'ai également déposé un rapport de bogue visible sur Open Radar .

3
Rudedog

Je traite ce problème depuis des jours. J'ai été capable de construire mais pas de lancer sur Simulator, et j'obtiens le même message d'erreur "pid: ..". 

J'utilise: - Xcode v9.2 - Swift 3.2 - Building pour iOS

Les choses que j’ai essayées qui DID ne fonctionnaient pas étaient: 

redémarrer l'ordinateur; suppression du contenu et des paramètres (de Simulator, je n'ai pas "réinitialisé"); désinstaller et réinstaller Xcode; changer de "cible de déploiement"; changer le périphérique dans le matériel-> Gérer le périphérique du simulateur; supprimer les données dérivées, le nettoyage et la création, ou simplement attendre ... pour toujours. 

Ce qui a fonctionné a été mentionné par @Rajasekhar: 

  • vérifié les certificats de trousseau. 
  • supprimé les anciens par un clic droit (ils avaient passé l'expiration) 
  • et décoché "gérer automatiquement la signature" dans Cibles-> Général

Après cela, il a été lancé avec succès dans Simulator. Je ne sais pas si le problème reviendra, mais j'espère que cela fonctionnera. 

3
tameikal

Moi aussi j'ai fait face au même problème, j'essayais d'exécuter les scénarios de test avec une version antérieure de xcode (9.4 dans mon cas).

Désactiver Debug Executable travaillé .  enter image description here

2
Saif

Cela semble être un problème temporaire lorsque vous essayez de générer trop rapidement après le début de la génération. Essayez arrêtez et relancez le projet .

2
Tamás Sengel

C’est le problème des certificats non fiables dans l’accès à la chaîne de clés. Supprimez ce type de certificat et reconstruisez-le à nouveau.

1

Je déteste ajouter plus de bruit à cette, mais pour moi, la réponse est, de façon absurde, d’utiliser Sudo.

Exécuter normalement, Xcode 9.4.1 (9F2000) et Xcode 10.0 beta 4 (10L213o) n'ont pas réussi à se connecter à mon application après plusieurs tentatives, donnant l'erreur citée dans le message d'origine.

Ce qui a fonctionné a été d’exécuter Xcode (9.4) avec Sudo,

Sudo /Applications/Xcode.app/Contents/MacOS/Xcode

Je ne vois pas pourquoi Sudo est nécessaire. L'application Cocoa à laquelle j'attache est une version de débogage que je viens de créer dans Xcode 9.4.1 et que j'ai glissé dans /Applications. Ce n'est pas codé. Les autorisations Posix sur le .app, sa Contents, sa MacOS et l'exécutable sont toutes les 755 octales. Le propriétaire, c'est moi. Cela fonctionne bien si je le laisse dans le dossier Build, construis et débogue normalement.

Le problème est apparemment avec lldb. J'ai également essayé d'utiliser lldb (lldb-902.0.79.7) à partir de la ligne de commande. J'ai obtenu le même résultat. Cela ne fonctionne qu'avec Sudo. Sans Sudo,

error: attach failed: unable to attach
1
Jerry Krinock

(solution la plus probable) 1. Simulateur-> Matériel-> Effacer tout le contenu et les paramètres

(solution moins probable) 2. Porte-clés-> verrou en haut à droite-> déverrouiller et verrouiller à nouveau

0
Will Gwo

Cela se produit sur ma machine lorsque je configure le nouveau système de construction. 

0
ThorstenC