web-dev-qa-db-fra.com

La mise en évidence de la syntaxe Xcode 8 ne fonctionne pas

Le code ci-dessus a la coloration syntaxique correcte dans Xcode 7 . C'est un mélange d'Obj-C + Swift:

enter image description here

J'ai mis à jour le projet pour prendre en charge Xcode 8 et peu de choses ont été modifiées:

  • Dans les paramètres de build Swift 2.3 support enter image description here

  • Et ont corrigé quelques erreurs liées aux propriétés implicitement dépliées dans UIKit enter image description here

Après tout, le projet est bien compilé pour Xcode 8 .

Mais le code Obj-C intégré dans Swift n'a pas de coloration syntaxique et vice versa:

enter image description here

Et il y a << type d'erreur >> problème avec la saisie semi-automatique: enter image description here

La suppression des données dérivées n'aide pas, redémarrez Xcode non plus :) CocoaPods version 0.38.2, iOS 7

24
Andrey Banshchikov

Fixe. Le problème était lié à la présence de cible dans le projet qui n'est pas compilé. Donc, si vous avez des objectifs, par exemple A, B, C et C ne sont pas compilés, ce qui cause des problèmes de mise en évidence de la syntaxe.

14
Andrey Banshchikov

Cette réponse m'a aidé https://forums.developer.Apple.com/thread/4622 avec l'un de mes projets:

J'ai obtenu de l'aide d'un Apple de la WWDC sur ce problème et je l'ai résolu. Le problème provenait de cocoapods ... Apparemment, cocoapods copiait des fichiers .h dans le répertoire de construction et SourceKit devenait confus. Je ne sais pas exactement pourquoi les fichiers .h ont été copiés - ils n'y sont pas nécessaires. Le correctif consistait donc à ajouter un script de post-génération dans votre section des phases de génération qui supprime les en-têtes après une génération.
Cela ressemblerait à quelque chose comme ceci:

function removeHeaders() {  
    find $BUILD_ROOT/Debug-iphonesimulator/  -name '*.h' -exec rm -f {} \;  
}  
removeHeaders  
20
Andrey Banshchikov

J'ai constaté que lorsque la coloration syntaxique tombe, la commutation d'onglets dans Xcode résout le problème ¯_ (ツ) _/¯ parfois je trouve que je dois basculer vers au moins 4 onglets différents avant de se réactiver.

Sinon, quittez et rouvrez

8
Daniel Galasko

Paramétrage tiliser l'héritage Swift Version de la langue à OUI dans les Paramètres de construction m'a aidé à résoudre un problème similaire

3
Andrey Volobuev

Commenter puis décommenter les lignes affectées a fonctionné pour moi.

3
guptron

Cela m'est également arrivé avec Xcode 8 GM mais aussi beaucoup de temps lorsque j'utilisais Xcode 7: parfois la fonction de saisie semi-automatique et la coloration syntaxique meurent sans préavis.

La seule solution qui fonctionne pour moi est redémarrer Xcode mais quelques fois j'ai dû redémarrer complètement mon Mac; Je ne sais toujours pas exactement ce qui cause ce problème ennuyeux.

3
Massimo Polimeni

Dans mon cas:

Dans le Finder, j'ai accédé à utilisateur-> Bibliothèque-> Développeur-> Xcode-> DerivedData . Fermez votre projet Xcode puis effacez DerivedData. C'est du travail pour moi.

Bon codage ... :)

1
Renish Dadhaniya