iOS混合动态框架 – 将objc标头与私有模块桥接

关于“动态框架”目标,我需要将内部(私有) objective-c标头桥接到我的swift对应框架。

根据我的理解,我需要使用私有模块。

其中一些快速的对应物使用@objc class TheClass语法桥接回objective-c。

我继续在$SRCROOT下的目录中创建了module.modulemapmodule.private.modulemap文件,并在构建设置中添加了“必要”标志。

 SWIFT_INCLUDE_PATHS =>$(SRCROOT)/... 

我还尝试在构建设置中添加“私有模块映射文件”

我的模块映射文件是:

 module InnerModule { export * } 

和私有模块文件是:

 explicit module InnerModule.Private { header "../Classes/Header1.h" header "../Classes/Header2.h" ... export * // and have tried without it } 

在我添加的所有相关Swift文件中

 import InnerModule.Private 

现在,在构建项目时,我的swift桥头中出现错误

 #import  // getting an error here MyFramework-Swift.h // generated header file @import UIKit; @import ObjectiveC; @import InnerModule.Private; Module InnerModule not found 

怎么解决这个问题?

事实certificate,在编译框架之后,您可以转到框架标题,删除您不想公开的所有“私有”标头。

之后,您可以从“Headers”目录中删除不想公开的所有头文件。

按预期工作