2010-07-15 7 views
3

J'utilise cette OAuth lib: http://github.com/jdg/oauthconsumerAjout OAuth au projet Xcode Xcode fait de ne pas trouver les en-têtes Foundation (erreurs copieuses ensuivre)

Lorsque vous ajoutez à mon projet, il cause plus de 2000 erreurs de construction. Ces erreurs sont toutes sous le fichier App_Preficx.pch dans la fenêtre Build Results.

Si vous cliquez réellement sur les erreurs, elles sont contenues dans chaque en-tête de la fondation. Je ne vais pas les énumérer tous, mais voici quelques exemples:

/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.0.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:236:0 /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.0.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:236: error: expected identifier or '(' before '@' token 

/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.0.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:238:0 /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.0.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:238: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token 

/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.0.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObject.h:8:0 /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.0.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObject.h:8: error: expected identifier or '(' before '@' token 

Vous pouvez voir que Xcode ne peut pas sembler lier à la Fondation ou au moins ne peut pas importer les en-têtes.

Si je supprime l'OAuth de Xcode, tout va bien et compile.

Je peux ajouter des chemins de recherche au contenu de mon cœur, mais en vain.

J'ai ajouté tous les cadres, bibliothèques et chemins de recherche requis dans les documents.

De toutes les erreurs 2641, aucun ne me donne de vrais problèmes. Il semble également n'y avoir aucun avertissement de conséquence.

Quelqu'un at-il une idée de la façon dont je peux trouver la cause du problème?

Répondre

5

Ok trouvé la réponse idiote.

dans le préfixe tête, vous pouvez voir ceci:

#ifdef __OBJC__ 
    #import <Foundation/Foundation.h> 
    #import <UIKit/UIKit.h> 

#endif 

Si vous ajoutez des GLOBALS ou des catégories ou des macros que vous pouvez être tenté de le faire:

#ifdef __OBJC__ 
     #import <Foundation/Foundation.h> 
     #import <UIKit/UIKit.h> 

    #endif 

    #import "MacroUtilities.h" 
    #import "Global.h" 

Mais c'est une mauvaise idée . Raison en est que si vous référencez des objets Obj-c dans l'un de vos fichiers "globaux", vous pouvez ajouter du code objectif-c aux fichiers source c inclus. Provoquant ainsi les erreurs folles.

Au lieu de cela, rester vrai:

#ifdef __OBJC__ 
     #import <Foundation/Foundation.h> 
     #import <UIKit/UIKit.h> 
     #import "MacroUtilities.h" 
     #import "Global.h" 
    #endif 
+0

grâce à amrox pour l'aide hors ligne! –

+0

merci! cela sauve ma journée: D – Hlung

0

avez-vous ajouté l'infrastructure de sécurité, libxml2.dylib et le chemin de recherche "$ SDKROOT/usr/include/libxml2" à votre projet comme le dit le README?

+0

oui, je aurais dû dire que j'ai ajouté tous les cadres appropriés/libs et les en-têtes –