如何在Swift框架中导入私有框架头文件?

我有一个Objective-C框架(框架A),公开和一些私人标题。 公共标题也在框架的标题中声明。 我有第二个与Objective-C框架链接的Swift框架(框架B)。

现在,如果我想在BI中import A的公共头文件,只需要import A

但是,我怎么去导入私人头文件?

我知道桥头不是一个选项,因为这不支持框架。 我是否需要以某种方式为私有头创build一个单独的伞头?

您需要修改框架A ,以便导出私有模块。

  1. A工程中创build一个私有模块映射文件 。 这将是这样的:

    A / private.modulemap

     explicit module A.Private { // Here is the list of your private headers. header "Private1.h" header "Private2.h" export * } 
  2. 在框架A目标的“Build Settings”中,search“Private Module Map File”行,并设置:

     $(SRCROOT)/A/private.modulemap 
  3. 不要在“编译源代码”中包含private.modulemap文件。 这会导致不必要的警告。

  4. 清理和构build框架目标。

  5. 在框架B Swift文件。 你可以像这样导入私有模块:

     import A import A.Private