gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-10-30 23:15:08 24 4
gpt4 key购买 nike

我正在构建一个混合语言框架。我主要有 Swift 文件和一些 Objective-C 文件。

其中一个 Objective-C 文件是一个使用 CommonCrypto 的加密类。

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

谁能给我解释一下这是为什么?

当我需要在 Swift 框架的 Objective-C 中使用 CommonCrypto 时,我发现的所有其他解决方案都在讨论如何在 Swift 中使用 CommonCrypto。

附言:

  1. 我尝试像这样在 umbrella 头文件中添加导入: #import <CommonCrypto/CommonCrypto.h>错误:Include of non-modular header inside framework module 'name of header'

  2. 这个答案没有解决问题:answer

最佳答案

我自己也遇到过这个问题。解决方法如下:

  1. 创建一个模块映射文件(here's my file)。
  2. 复制最新的 CommonCrypto.h header 。
  3. 为这两个文件创建目录 CommonCrypto
  4. 将目录(通过拖放)复制到您的项目。
  5. SWIFT_INCLUDE_PATHS 下为您的目标框架添加目录路径。

这应该允许您在任何需要的地方使用import CommonCrypto(用于 Swift,而不是 Objective-C)。

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

关于ios - 无法在混合语言框架中导入 CommonCrypto,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37371893/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com