Suppose you have a standard Cocoa framework with some objective-c classes with modules enabled. All headers marked as public are available for external application c #import <Framework/PublicHeader.h>.
The Umbrella header is designed to simplify importing from the framework. If this common title is not included in the umbrella, Xcode displays a warning, for example, that the Umbrella title does not include PublicHeader.h, and the class is not available through @import Framework.
Thus, when creating a new public class, accessible to an external application through a module, both should be performed:
- Move this new header to the public structure headers
- Adding
#import <Framework/NewPublicHeader.h>to the umbrella with a standard module card or in case of using a custom module card adding to itheader "NewPublicHeader.h"
Why is the probe header for the framework not automatically created based on public headers, and the developers should do both 1 and 2 instead of 1? Is there a way to do this automatically (user-run script generated and copied umbrella to create a folder introduces glitches with indexing Xcode indexes and formatting the code, the frames are in the same workspace)?
vojer source
share