2015-08-25 1 views
2

En supposant que j'ai obtenu un cadre appelé Foobar. Lorsque je tente de compiler mon projet iOS je reçois l'avertissement du compilateur:A quoi sert Foobar-umbrella.h?

tête parapluie pour le module « foobar » ne comprend pas la tête « Foobar-umbrella.h »

Je ne comprends pas ce que ce 'Foobar-umbrella.h' est et pourquoi il n'est pas inclus. Quelques détails sur mon projet:

  • Un projet iOS 8 App principalement écrit en Swift. Un peu Objective-C
  • Le framework 'Foobar' est un projet distinct écrit pour la plupart dans Swift que j'ai inclus comme sous-projet dans mon projet principal.
  • Il a été inclus en l'intégrant dans les phases de construction et en fonction de celui-ci. Mais je ne suis pas explicitement lié à cela.
  • J'utilise des Cocoapods, mais «Foobar» n'est pas inclus comme gousse.

Répondre

0

L'en-tête umbrella est le fichier d'en-tête «principal» d'un framework. Son utilisation est que vous pouvez écrire

#import <UIKit/UIKit.h> 

au lieu de

#import <UIKit/UIViewController.h> 
#import <UIKit/UILabel.h> 

#import <UIKit/UIButton.h> 
#import <UIKit/UIDatePicker.h> 

et ainsi de suite. Pour moi, <XCTest/XCTestCase+AsynchronousTesting.h> est inclus dans <XCTest/XCTest.h>. Peut-être que ce n'est pas pour toi? Dans ce cas, ajoutez le

#import <XCTest/XCTestCase+AsynchronousTesting.h> 

manuellement.

+0

Je sais ce qu'est un en-tête de parapluie, dans mon exemple, ce serait Foobar.h. Mon problème est que je ne sais pas à quoi sert l'en-tête Foobar-umbrella.h qui devait être inclus dans le Foobar.h. Je suppose que cela pourrait être lié à Swift. –