Why is Cocoa a Touch Umbrella Header not automatically generated based on common frame headers?

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)?

+4
source share

Source: https://habr.com/ru/post/1665045/


All Articles