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.
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.
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
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.
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
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'