SwiftプロジェクトでCommonCryptoをインクルードする

  • 3
    Like
  • 0
    Comment

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ディレクトリにコピって参照する方が管理しなくていいので楽だとおもったのでメモ。