LoginSignup
12

More than 5 years have passed since last update.

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

Last updated at Posted at 2015-11-09

起きたエラー

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)を追加しておく必要がある。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12