Swift 框架伞 header - 在框架模块中包含 non-modular header
Swift framework umbrella header - Include of non-modular header inside framework module
我正在尝试将 openssl 框架包含到我正在构建的 swift 框架中(我使用 cocoapods 创建它 - pod lib create)。当我转到默认保护伞 header 并从 openssl 框架导入一些 header 时,我得到 Include of non-modular header inside framework module。
我尝试了一切来解决这个问题(已检查来自 Whosebug 的问题),包括允许 non-modular 包含的解决方案。
我在正常的 swift 项目中使用 openssl framwork,通过在桥接 header 中导入它,我没有遇到这样的问题。
经过很长时间我终于找到了适合我的解决方案。
在框架模块中包含 non-modular header 意味着您必须将要包含的框架模块化。这可以通过创建自定义模块映射来完成,您可以在其中为所需框架定义新模块。
您可以找到 here 如何创建自定义模块映射。
需要注意的重要一点是,我只使用 动态框架 来管理它。另一件重要的事情是你必须在模块映射中使用 绝对路径(例如 header "/Users/User1/Documents/Project/TestProject/Sample.framework/Headers/sample.h
我正在尝试将 openssl 框架包含到我正在构建的 swift 框架中(我使用 cocoapods 创建它 - pod lib create)。当我转到默认保护伞 header 并从 openssl 框架导入一些 header 时,我得到 Include of non-modular header inside framework module。
我尝试了一切来解决这个问题(已检查来自 Whosebug 的问题),包括允许 non-modular 包含的解决方案。
我在正常的 swift 项目中使用 openssl framwork,通过在桥接 header 中导入它,我没有遇到这样的问题。
经过很长时间我终于找到了适合我的解决方案。
在框架模块中包含 non-modular header 意味着您必须将要包含的框架模块化。这可以通过创建自定义模块映射来完成,您可以在其中为所需框架定义新模块。
您可以找到 here 如何创建自定义模块映射。
需要注意的重要一点是,我只使用 动态框架 来管理它。另一件重要的事情是你必须在模块映射中使用 绝对路径(例如 header "/Users/User1/Documents/Project/TestProject/Sample.framework/Headers/sample.h