Le code ci-dessus a la coloration syntaxique correcte dans Xcode 7 . C'est un mélange d'Obj-C + Swift:
J'ai mis à jour le projet pour prendre en charge Xcode 8 et peu de choses ont été modifiées:
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:
Et il y a << type d'erreur >> problème avec la saisie semi-automatique:
La suppression des données dérivées n'aide pas, redémarrez Xcode non plus :) CocoaPods version 0.38.2, iOS 7
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.
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
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
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
Commenter puis décommenter les lignes affectées a fonctionné pour moi.
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.
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 ... :)