加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ios – 无法在混合语言框架中导入CommonCrypto

发布时间:2020-12-14 19:20:07 所属栏目:百科 来源:网络整理
导读:我正在构建一个混合语言框架.我主要有 Swift文件和一些Objective-C文件. Objective-C文件之一是使用CommonCrypto的加密类. 似乎我出于某种原因无法导入它,即使我可以在Objective-C框架中导入它. 有人能解释一下为什么会这样吗? 我发现的所有其他解决方案都
我正在构建一个混合语言框架.我主要有 Swift文件和一些Objective-C文件.

Objective-C文件之一是使用CommonCrypto的加密类.

似乎我出于某种原因无法导入它,即使我可以在Objective-C框架中导入它.

有人能解释一下为什么会这样吗?

我发现的所有其他解决方案都谈到了当我需要在Swift框架中的Objective-C中使用它时如何在Swift中使用CommonCrypto.

P.S:

>我尝试在伞头文件中添加导入,如下所示:
#import< CommonCrypto / CommonCrypto.h>
错误:在框架模块’header of header’中包含非模块化头文件
>这个答案没有解决问题:answer

解决方法

我自己也遇到过这个问题.以下是解决问题的方法:

>创建模块映射文件(here’s my file).
>复制最新的CommonCrypto.h标头.
>为这两个文件创建一个目录CommonCrypto.
>将目录(通过拖放)复制到项目中.
>在SWIFT_INCLUDE_PATHS下为目标框架添加目录路径.

这应该允许您在任何地方使用导入CommonCrypto(对于Swift,而不是Objective-C).

编辑:似乎我最初误读了这个问题.您想在Objective-C中使用CommonCrypto,然后使用Swift中的CommonCrypto.这里有一些建议:不要在公共标题中#import CommonCrypto,而是在内部.包装所有的加密结构,以便CommonCrypto没有任何公共依赖,然后通过默认的桥接过程从Swift中使用它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读