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

米海·达米安(Mihai Damian)

我有一个Objective-C框架(框架A),该框架公开了一些公共和私有标头。公共头文件也在框架的伞头文件中声明。我有第二个Swift框架(框架B),它与Objective-C框架链接。

现在,如果要在BI中导入A的公共标头,只需要做一个即可import A

但是如何导入私有标头?

我知道桥接标头不是一种选择,因为框架不支持该头。我是否需要以某种方式为专用标头创建单独的伞形标头?

林太郎

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

  1. 项目中创建一个私有模块映射文件A这将是这样的:

    A / private.modulemap

    explicit module A.Private {
    
        // Here is the list of your private headers.
        header "Private1.h"
        header "Private2.h"
    
        export *
    }
    
  2. 在框架A目标的“构建设置”中,搜索“专用模块映射文件”行,并进行以下操作:

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

  4. 清理并构建框架A目标。

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

    import A
    import A.Private
    

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在RESTEasy客户端框架中设置HTTP标头?

在Swift框架中导入CommonCrypto

Swift框架:未找到伞标头'[...]。h'

如何在Objective-C项目中导入和使用Swift Pod框架

在Swift中导入Swift框架:“使用未声明的类型'MyCustomView'”

如何在iOS Swift中导入opencv2框架

在Swift项目中导入GoogleCast框架时没有此类模块错误

找不到带有Cocoapods 0.37,Swift,框架的GoogleAnalytics-iOS-SDK的标头

如何在robot框架中导入带有通用关键字的文件?

iOS混合动态框架-使用私有模块桥接objc标头

Swift Framework伞式标头-在框架模块中包含非模块化标头

如何使用Swift的私有iOS框架?

如何在Swift中有选择地导入框架?

尝试在框架目标中导入Sinch时获取“包含非模块化标头”

如何在空手道框架中编辑已配置的标头

如何在OpenTest框架中导入外部Java库?

如何在不将私有标头包含到框架中的情况下创建私有模块?

如何从带有嵌套标头的C库中创建框架

在Mac OSX(10.15)上gcc如何搜索框架标头?

在Swift中导入C标头

带有Chromecast的Swift框架:框架模块内部包含非模块化标头

使用Cocoapods在Swift中导入框架的问题

查找GPUImage框架标头

如何在 Phoenix 框架上设置浏览器缓存和过期标头?

Swift:无法在 Xcode 中导入框架,遇到错误:“没有这样的模块”(使用 cocoapods 安装)

在 Swift 中导入 Objective-c 框架?

带有标头属性的 BOT 框架 Directline API 调用

如何在python的tkinter框架中导入matplotlib 3D动画?

如何使用 REST 框架保存标头请求