Edited at

SwiftプロジェクトでCommonCryptoをインクルードする[Xcode10では不要]

More than 1 year has passed since last update.


Xcode10以降

この対応がなくてもCommonCryptoが使えるようになりました。


Xcode9以前

1.対象のターゲットにこのシェルを追加

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 *
}

2.Import Pathsの設定にパスを追加

$(BUILT_PRODUCTS_DIR)/CommonCryptoModuleMap/module.modulemap

3.Importする

import CommonCrypto

シンプルにこれで終了。

ブログとかスタックオーバーフローを見てたらヘッダーファイルをコピーして、プロジェクトに含めるような回答が多かったけど

シェルでランタイムに応じたヘッダーをビルド時のtmpディレクトリにコピって参照する方が管理しなくていいので楽だとおもったのでメモ。