最近想要把自己積累的東西總結(jié)一下,封裝到一個 framework 中去哨毁,在想要在 swift 的 framework 中使用 CommonCrypto 中的方法進(jìn)行 MD5加密時遇到問題汪茧,搜索了很多文章椅亚,最終找到一個個人覺得比較好的方案,這里分享給大家舱污。
1.新建 target 選擇 Aggregate,創(chuàng)建一個新的 target 名字為CommonCryptoModuleMap(可以自取呀舔,我用的是這個)
2.按照圖中的步驟給這個 Aggregate 添加一個運行腳本
腳本代碼如下
# This if-statement means we'll only run the main script if the CommonCryptoModuleMap directory doesn't exist
# Because otherwise the rest of the script causes a full recompile for anything where CommonCrypto is a dependency
# Do a "Clean Build Folder" to remove this directory and trigger the rest of the script to run
if [ -d "${BUILT_PRODUCTS_DIR}/CommonCryptoModuleMap" ]; then
echo "${BUILT_PRODUCTS_DIR}/CommonCryptoModuleMap directory already exists, so skipping the rest of the script."
exit 0
fi
mkdir -p "${BUILT_PRODUCTS_DIR}/CommonCryptoModuleMap"
cat <<EOF > "${BUILT_PRODUCTS_DIR}/CommonCryptoModuleMap/module.modulemap"
module CommonCrypto [system] {
header "${SDKROOT}/usr/include/CommonCrypto/CommonCrypto.h"
export *
}
EOF
3.選中你的 framework,選擇 build phases扩灯,在 target dependencies中添加剛才的那個 Aggregate媚赖。
4.選在 build setting,在 header search paths 中添加${BUILT_PRODUCTS_DIR}/Aggregate 名珠插,
注意
不能忘記添加 $(inherited)
- Cmd+B 先 build 一下項目惧磺,然后就可以再你需要導(dǎo)入的地方使用
import CommonCrypto
了