如何使用modulemap文件创建模块化框架?

时间:2018-06-27 13:43:23

标签: objective-c swift swift-framework module-map

我正在尝试创建和分发框架,并使框架模块化。但是,我无法将主模块分离为子模块。

例如,我有一个名为“ MyFramework”的框架,它在A.swift和B.swift中分别有两个单独的类。我想访问“ import MyFramework.A”和“ import MyFramework.B”之类的模块。 (就像HomeKit,它具有HomeKit.HMHomeManager子模块,依此类推。)

我意识到我可以通过提供一个自定义的模块映射来实现。创建它时,我无法为子模块提供必要的功能。据我所知,子模块采用头文件来显示必要的信息。但是,swift文件没有任何头,并且我无法提供modulemap任何头。

基本上,我希望子模块只包含特定信息。

modulemap示例:

framework module MyFramework {  

     module A {  
     // This module should have only the A.swift file's functionality.       


     }  

     module B {  
     // This module should have only the B.swift file's functionality.  
     }  

}  

使用上面的模块图,A和B.swift文件的所有功能都显示在“ MyFramework”中,但是当我导入MyFramework.A(或B)并对其进行导航时,MyFramework.A模块内部为空。简而言之,我想要MyFramework.A中的A.swift功能。

我搜索了相关主题,但是唯一看到的是我可以将Obj-C标头提供到模块中,但是我的项目中没有任何Objective-c文件。

您知道在不共享源代码的情况下如何分发模块化框架吗?

谢谢。

0 个答案:

没有答案