Edited at

CocoaPodsで新たにRealmを追加して出たエラー

More than 3 years have passed since last update.


起きたエラー

Swift2.0版のRealmをCocoaPodsにて追加したところ、Bridge-Headerでもともと使っていた別のライブラリのimportの行で「file not found」のエラーが起こった。


エラーが起きる前の状況

・CocoaPodsにてSVProgressHUDを導入

・Bridging-HeaderにてSVProgressHUD.hをimport済みで使用できていた


エラーが起きるまで

CocoaPodsにてRealmを追加。

この際Realmの公式サイトのSwift2.0版インストール方法にのっとり、Podfileの中に「use_frameworks!」と「pod 'RealmSwift'」を追加してPodをインストールし直す。

いつもどおりworkspaceを開いてビルドするとBridging-Headerの、


ProjectName-Bridging-Header.h

#import <SVProgressHUD.h>


このimport文にて「'SVProgressHUD.h' file not found」のエラーがおこる。


原因と解決策

原因は簡単に言うならばuse_frameworks!だった。

こちらを参考にしてようやく理解。

CocoaPodがSwiftに対応したことでSwiftのライブラリを導入するのにuse_framework!の記述が必要だが、この記述をするとBridge-Headerにimportを書かずにライブラリを使用するファイルで


hoge.swift

import SVProgressHUD


と書くだけ使える。

この際SVProgressHUD.framework(CocoaPodsで導入したObjective-Cのライブラリのframework)を追加しておく必要がある。