2011-01-28 7 views
0

J'ai téléchargé l'API Dropbox pour les appareils Objective-C/iOS, et je suis capable de construire et d'exécuter l'application DBRoulette avec succès. Lorsque je suis les instructions README pour inclure l'API dans mon projet, j'ai un nombre énorme d'erreurs de construction, qui semblent être liées à l'absence de l'en-tête Foundation. (Par exemple, impossible de trouver la déclaration d'interface pour NSObject, NSString, etc.)Problème lié à l'intégration de Dropbox SDK?

La plupart de leurs fichiers d'en-tête n'incluent pas les autres autres en-têtes. Tous les fichiers .h n'ont-ils pas besoin d'importer Foundation.h s'ils étendent NSObject? Cela ne semble pas être le cas, car l'exemple de projet (DBRoulette) se construit et s'exécute correctement sans les déclarations d'en-tête Foundation, mais ma propre application échoue lamentablement.

Je dois manquer un certain type de paramètre de projet, mais je ne peux pas déterminer de quoi il s'agit.

Répondre

2

Dans leur application par exemple, ils ont

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

dans leur fichier d'en-tête de préfixe (DBRoulette_Prefix.pch). Ce fichier est automatiquement préfixé à tous les fichiers source du projet, de sorte que les en-têtes appropriés sont trouvés. Vous pouvez soit mettre les directives #import dans les fichiers source eux-mêmes, soit faire ce qu'ils ont fait et éditer le fichier .pch pour votre projet.

+0

Ah, intéressant. Les paramètres de génération pour ma cible n'utilisaient pas le fichier de préfixe. (J'en ai déjà défini un comme vous le décrivez.) Les paramètres de construction utilisaient $ {PREFIX_HEADER}, ou quelque chose de similaire (je l'ai supprimé avant de l'écrire.) Changer la valeur de la variable "MyProject_Prefix.pch" (le nom de mon fichier de préfixe) a corrigé le problème. J'ai rebaptisé mon projet il y a quelque temps, je suppose qu'il cherchait le mauvais fichier. –

+0

@craig Glad vous l'avez compris! – Wevah