What is an umbrella header?

ios, objective-c

Solution

The umbrella header is the 'master' header file for a framework. Its use is that you can write

#import <UIKit/UIKit.h>

instead of

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

and so on.

For me, `<XCTest/XCTestCase+AsynchronousTesting.h>` is included in `<XCTest/XCTest.h>`. Maybe it is not for you? In that case, add the

#import <XCTest/XCTestCase+AsynchronousTesting.h>

manually.

Problem

What is basically an umbrella header? What is its use? I got a warning as shown below. What does this mean? ``` <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" ```

Original source

Related problems