[Swift] FrameworkプロジェクトにCommonCryptoをインポートする


Obj-cであれば、
#import <CommonCrypto/CommonCrypto.h>
と書けばインポートできました。


一般的なSwiftプロジェクトの場合は、「プロジェクト名-Bridging-Header.h」を作成し、そこに書くことになります。


ですが、Frameworkプロジェクトの場合は、単純にimportしようとすると
No such module 'フレームワーク名'
とエラーが出ます。


SwiftのFrameworkプロジェクトでもこんな感じで、インポートしたいと試行錯誤してみました。
import フレームワーク名


手順は以下のとおりです。


  1. [モジュール名]でフォルダを作成(今回はCommonCrypto)
  2. 1の中に[module.map]ファイルを作成
  3. [module.map]を編集
    module CommonCrypto [system] {
    header "/usr/include/CommonCrypto/CommonCrypto.h"
    link "CommonCrypto"
    export *
    }
  4. Build Settings -> Swift Compiler – Search Paths -> Import Pathsに1の[モジュール名]フォルダまでのパスを追加

これでimport フレームワーク名により、CommonCryptoが使えるようになりました。
試してはいないのですが、他のフレームワークでも同様にimportできるのではと思います。


ios – Importing CommonCrypto in a Swift framework – Stack Overflow

この投稿へのコメント

コメントはありません。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

この投稿へのトラックバック

トラックバックはありません。

トラックバック URL