在尝试在框架中使用Swift(包括开启模块支持)时,我开始收到以下类似的消息:
[snip]/<module-includes>:1:1: Umbrella header for module 'PressKit' does not include header 'NPKBaseAppearance.h'
问题中的头文件(大约有十个)没有在PressKit.h中列出,但这是有充分理由的——它们包括我不想向大多数我的框架用户公开的内部或很少使用的类和类别。(其中一些我想在选择的地方公开;其他的则永远不应该被公开。)
将头文件标记为私有似乎并没有帮助解决问题。这是我的框架项目中的一个警告,但却是每个使用该框架的目标中的一个错误,所以我不能忽略这个问题。
显然,我可以将这些头文件添加到我的总头文件中,但我不想这样做。当使用模块时,我是否违反了某些框架设计规则?处理这种情况的推荐方法是什么?