2015-07-06 7 views
51

Was ist im Grunde ein Regenschirm-Header? Was nützt es? Ich habe eine Warnung erhalten, wie unten gezeigt. Was bedeutet das?Was ist ein Regenschirm Kopf?

<module-includes>:1:1: warning: umbrella header for module 'XCTest' does not include header 'XCTextCase+AsynchronousTesting.h' [-Wincomplete-umbrella] 
#import "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Frameworks/XCTest.framework/Headers/XCTest.h" 
+2

ist Ihr Projekt besteht aus Cocoapoden? – poojathorat

+1

nein, verwende Kakaotouch – ruveena

Antwort

45

Die umbrella header ist der 'Master' Header-Datei für einen Rahmen. Seine Verwendung ist, dass Sie

#import <UIKit/UIKit.h> 

statt

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

und so weiter schreiben kann.

Für mich ist <XCTest/XCTestCase+AsynchronousTesting.h> in <XCTest/XCTest.h> enthalten. Vielleicht ist es nicht für dich? In diesem Fall fügen Sie manuell die

#import <XCTest/XCTestCase+AsynchronousTesting.h> 

hinzu.

+1

Danke, es hat geholfen. Die Warnung wurde entfernt. – ruveena

+3

+1 für die Dokumentation Link, -1 für die Erklärung, die falsch ist. UIKit ist kein [Umbrella-Framework] (https://developer.apple.com/library/mac/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/FrameworkAnatomy.html#//apple_ref/doc/uid/20002253-97623-BAJJHAJC). –

+3

'UIKit/UIkit.h' ist die" Master-Header-Datei "eines Standard-Framework (nicht Regenschirm). –