CommonCrypto如何在SWIFT3中使用?

时间:2017-07-22 22:57:17

标签: swift commoncrypto

指导是在桥接头中使用#import“CommonCrypto / CommonCrypto.h”。这来自SHA256 in swift的问题 但是,当我使用Andi和Graham给出的答案时,Xcode仍抱怨“使用未解析的标识符CC_SHA256_DIGEST_LENGTH ......”

我在想我犯了两个错误之一:或者是 (a)我遗漏了没有连接标题并正确导入的内容。即我没有正确设置桥接头。我想知道如何包含库并正确创建桥接头的明确步骤。要么 (b)默认情况下不包含库,我实际上需要先下载它并在本地存储才能使用它。我很喜欢这方面的指示。

感谢。

2 个答案:

答案 0 :(得分:3)

好消息!:Swift 4(Xcode 10)已使CommonCrypto默认可以导入!

这在Swift 3上可能对您没有帮助,但仍然仅供参考

答案 1 :(得分:2)

8个步骤的更好方法

1)-------------------------------------------

转到xcode文件检查器并选择项目文件并添加新目标。

xcode file inspector

2)-------------------------------------------

从跨平台部分选择聚合。

aggregate

3)-------------------------------------------

在适当地命名后,从目标中选择它并转到构建阶段部分。

build phases

4)-------------------------------------------

选择加号按钮并使用以下代码创建新的运行脚本阶段。它将在构建之前为每个平台生成适当的模块,您甚至可以为模拟器导入CommonCrypto。

add script script code

mkdir -p "${SRCROOT}/Frameworks/CommonCrypto"
cat <<EOF > "${SRCROOT}/Frameworks/CommonCrypto/module.modulemap"
module CommonCrypto [system] {
    header "${SDKROOT}/usr/include/CommonCrypto/CommonCrypto.h"
    export *
}
EOF

5)-------------------------------------------

在此步骤之后转到项目目标并实际将此聚合链接到您的构建过程

linkup

6)-------------------------------------------

选择汇总

aggregate selection

7)-------------------------------------------

现在仍然在项目目标中转到构建设置并找到“标题搜索路径”并插入此路径以便为新生成的模块遍历

${SRCROOT}/Frameworks/CommonCrypto

header search paths

8)-------------------------------------------

现在您需要做的只是

import CommonCrypto

某处并开始使用它。

希望有所帮助