ruveena ruveena - 4 months ago 47
iOS Question

What is an umbrella header?

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"

Answer

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.