web-dev-qa-db-fra.com

Comment réparer le débogueur Xcode 10.0, il ne fonctionne pas complètement?

Après la mise à niveau vers Xcode 10.0, le débogueur ne parvient pas à exécuter les fonctions de base. Il est possible que les problèmes du débogueur ne soient pas liés à la mise à niveau vers 10.0 mais je soupçonne que cela joue un rôle catalyseur.

Symptômes:

  • Points d'arrêt sont se brisent correctement
  • La zone "variables locales" (ne sais pas s'il s'agit du terme approprié) répertorie les variables locales mais ne peut fournir aucune information à leur sujet. Tenter quelque chose comme "Imprimer la description de x" Le résultat est un message d'erreur:
Printing description of x
x = <could not resolve type>

Suivi par:

note: Swift compiler options for ProjectX conflict with options 
found in other modules;
 Switching to a new expression evaluator for ProjectX, old $R 
variables are lost.
  • lorsque vous sélectionnez "Voir la mémoire de x" pour une variable donnée, la "vue de mémoire" apparaît, mais l'adresse est "0x0" et le contenu de la vue est absolument nul.

  • En utilisant directement l'interface (lldb), lorsque j'essaie d'imprimer une variable, c'est-à-dire po x pour imprimer la variable "x", le message ci-dessus concernant le passage à un nouvel évaluateur d'expression est affiché, mais lors de la deuxième exécution de la même commande d'impression po x, une erreur différente est présentée comme

    error: Swift expressions require OS X 10.10 / iOS 8 SDKs or later.
    

Oui, je suis sous OS X 10.13 et mon SDK iOS est 12.0 et j'ai simulé divers appareils iPad 6, pro 2, Air 2, iPhone X et le débogueur a exactement les mêmes symptômes sur tous les appareils.

Tentatives de correction:

  • J'ai essayé de re-cloner mon référentiel dans un nouvel emplacement pour importer un nouvel espace de travail dans un nouvel emplacement.
  • DerivedData supprimé et Xcode redémarré plusieurs fois
  • Xcode désinstallé et réinstallé
  • Tout nettoyé et reconstruit
  • Ordinateur redémarré
12
David

J'ai mis à jour ma version de Cocoapod vers 1.6.0.beta.2 et mon débogueur fonctionne maintenant. On dirait que CommonCrypto est la cause du problème

3
chlkdst

Fixe

Dans le cas de mon projet, cela était dû à l'inclusion d'un CommonCrypto wrapper, qui faisait partie de la structure de l'un de mes modules. D'après ce que j'ai compris, cela a provoqué des conflits avec les modules de chiffrement maintenant inclus avec iOS. 

Il s'agit d'un projet de longue durée et ce cadre CommonCrypto est maintenant déconseillé pour nous par les installations fournies par les cadres Apple plus récents. Avec le framework CommonCrypto supprimé, le débogage a recommencé à fonctionner.

1
David

J'utilisais Carthage et j'ai eu les mêmes problèmes. La mise à jour de mes dépendances avec cette commande a résolu le problème pour moi:

carthage update --platform iOS --no-use-binaries
1
chriswillow

Dans mon cas, j'ai retiré Fabric, Crashlytics, Firebase/Core de Cocoapod et tout va bien.

Xcode 10.0

pod 'Tissu', '~> 1.9.0'

pod 'Crashlytics', '~> 3.12.0'

pod 'Firebase/Core'

0
Jerome