Swift 框架伞头 - 在框架模块中包含非模块化头
Posted
技术标签:
【中文标题】Swift 框架伞头 - 在框架模块中包含非模块化头【英文标题】:Swift framework umbrella header - Include of non-modular header inside framework module 【发布时间】:2016-05-25 08:43:16 【问题描述】:我正在尝试将 openssl 框架包含到我正在构建的 swift 框架中(我使用 cocoapods - pod lib create 创建了它)。当我转到默认的伞形标题并导入一些标题形式的 openssl 框架时,我得到 在框架模块中包含非模块化标题。 我尝试了一切来解决这个问题(从***检查问题),包括允许非模块化包含的解决方案。 我通过在桥接头中导入它在普通的 swift 项目中使用 openssl 框架,我没有这样的问题。
【问题讨论】:
【参考方案1】:经过很长时间,我终于找到了适合我的解决方案。
Include of non-modular header inside framework module 意味着你必须使你想要包含模块化的框架。这可以通过创建自定义模块映射来完成,您可以在其中为所需框架定义新模块。 您可以找到here 如何创建自定义模块图。
需要注意的重要一点是,我只使用 动态框架 来管理它。其他重要的事情是您必须在模块映射中使用 绝对路径(例如 header "/Users/User1/Documents/Project/TestProject/Sample.framework/Headers/sample.h"
【讨论】:
以上是关于Swift 框架伞头 - 在框架模块中包含非模块化头的主要内容,如果未能解决你的问题,请参考以下文章