web-dev-qa-db-fra.com

Xcode 6 - Nom de type inconnu 'NSString'/Identifiant attendu ou '('

Lorsque j'exécute mon projet dans Xcode 6, j'ai de nombreuses erreurs étranges.

Parse Issue - Unknown type name 'NSString'
Format argument not an NSString
Could not build module Foundation
Could not build module QuartzCore

Toutes ces erreurs se produisent dans les fichiers d’en-tête d’Apple tels que: CAMediaTiming.h, NSObjCRuntime.h, NSZone.h, NSObject.h, CALayer.h, etc.

Malheureusement, les réponses ici: ios - Problèmes d'analyse dans NSObjCRuntime, NSZone et NSObject n'ont pas fonctionné pour moi.

Comment recommandez-vous que je corrige ces erreurs?

8
GangstaGraham

Le problème était que j'avais quelques fichiers .c dans mon projet, apparemment Xcode 6 n'aime pas les fichiers .c.

J'ai changé l'extension des fichiers .c en .m et Xcode 6 est heureux à nouveau!

19
GangstaGraham

Vous pouvez obtenir cette erreur si vous avez un fichier PrefixHeader qui importe du code Objective-C ainsi que des fichiers C simples dans votre projet, car les fichiers C tentent d'importer Objective-C. 

Pour résoudre ce problème, enveloppez vos importations objective-c comme ceci: 

#ifdef __OBJC__
#import <OOObjectiveCClass.h>
#endif
17
olynoise

Vérifiez que le chemin d'accès au fichier d'en-tête de préfixe est correctement placé sous l'onglet Paramètres de construction. Voir la réponse complète au lien suivant.

Vérifiez cet article

5
Omar Rehman

J'utilise Xcode 8.3.3, je rencontre également ce problème , et je résous ce problème en sélectionnant le fichier. Dans le panneau de droite de Xcode, dans la partie Identité et Type, choisissez Type en Objective-C++.

0
insightution