Bridging-Header.h
SwiftからObjective-Cで書かれたライブラリを利用する場合は、Objective-C Bridging Headerに利用するライブラリのヘッダーファイルを記述します。
例えば FMDB であればこんな感じです。
#ifndef Projectname_Projectname_Bridging_Header_h #define Projectname_Projectname_Bridging_Header_h /// FMDB #import "FMDatabase.h" #import "FMDatabaseAdditions.h" #endif
Module Map
CocoaPodsでインストールした場合は、Clangのモジュール機能によりヘッダーファイルがモジュール化されるので、Bridging Headerを書かなくても import “モジュール名”で利用可能です。
FMDBをCocoaPodsでインストールするとモジュール化のため、以下のファイル等が生成されます。
framework module FMDB { umbrella header "FMDB-umbrella.h" export * module * { export * } }
#import <UIKit/UIKit.h> #import "FMDatabase.h" #import "FMDatabaseAdditions.h" #import "FMDatabasePool.h" #import "FMDatabaseQueue.h" #import "FMDB.h" #import "FMResultSet.h" FOUNDATION_EXPORT double FMDBVersionNumber; FOUNDATION_EXPORT const unsigned char FMDBVersionString[];
FMDB.modulemap 1行目 “framework module FMDB” の「FMDB」が、モジュール名になりますので、以下のようにインポートして使用出来ます。
import FMDB