[解決済み] iOSのロジックテストでCocoaPodsを使用するとライブラリが見つからない
質問
私のプロジェクトで、私のPodspecにあるいくつかのライブラリから機能を使用するクラスに対して、いくつかのiOSロジックテストを書こうとしています。私はXcodeで提供される標準的なユニットテストバンドルを使用しています(アプリケーションテストではなく、ユニットテストだけですが)。
例えば、私はMagical Recordを使用しており、そのライブラリは私のPodspecでリンクされています。ワークスペースのPodsプロジェクトに存在し、シミュレータやデバイス上でアプリを実行すると期待通りに動作します。しかし、Magical Recordを使用するオブジェクトをテストにリンクしようとすると、Magical Recordからのセレクタが見つからないというリンカーエラーが発生します。ロジックテストバンドル内のHEADER_SEARCH_PATHを更新したり、CocoaPodsが作成したheadersディレクトリにハードコーディングしてみましたが、うまくいきません。
CocoaPodsのライブラリを使用していないクラスに対するユニットテストは問題なく実行できるのですが。
私のやり方は間違っているのでしょうか?コンパイラにCocoaPodsライブラリを認識させるために何か他のことをすべきなのでしょうか?
どのように解決するのですか?
私は、私のアプリのメインターゲットが、CocoaPodsライブラリからどのように設定を受け取っているかを見て、この問題を解決しました。CocoaPodsには、Pods.xcconfigという名前の.xcconfigファイルが含まれています。このファイルには、ヘッダの検索パスがすべて含まれています。
プロジェクトナビゲータでプロジェクトを見て、情報タブをクリックすると、一番上のセクションにビルド構成が表示されます。異なる構成の三角形を開くと、メインターゲットの下にPodが表示されます。ドロップダウンをクリックして、ロジックテストターゲットにもPodsを追加する必要がありました。
の設定もコピーする必要がありました。
$(inherited)
と
${PODS_HEADERS_SEARCH_PATHS}
をメインターゲットからコピーして、Build Settings/HEADER_SEARCH_PATHS の下にあるロジックテストターゲットにコピーしてください。
最後に、ロジックテストターゲットの Link Binary with Libraries ビルドフェーズで libPods.a を追加する必要がありました。
どなたかのお役に立てれば幸いです。
関連
-
[解決済み】arm64アーキテクチャの未定義シンボルについて
-
[解決済み] iOSのステータスバーの文字色を変更する方法
-
[解決済み] フェイク、モッキング、スタビングの違いとは?
-
[解決済み] Xcode 12、iOS Simulator用にビルドしても、iOS用にビルドされたオブジェクトファイルでは、アーキテクチャ「arm64」用にリンクされます。
-
[解決済み] Cocoapodsの使用時にXcodeの警告を無視する
-
[解決済み] データベース駆動型アプリケーションのユニットテストに最適な戦略とは?
-
[解決済み】典型的なテストディレクトリ構造でunittestを実行する
-
[解決済み】Xcodeのユニットテストで@testableを使用すると「No such module」と表示される。
-
[解決済み] ターゲット ... は `Pods/Pods.xcconfig` で定義された `OTHER_LDFLAGS` ビルド設定をオーバーライドします。
-
[解決済み] Cocoapodsを使ったXcodeのユニットテスト
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
libc++abi.dylib が NSException 型の捕捉できない例外で終了する理由 エラー
-
[解決済み] カスタムオブジェクトを含むNSMutableArrayをソートするにはどうすればよいですか?
-
[解決済み] Xcode 7のエラーです。"Missing iOS Distribution signing identity for ..." (iOS配布用署名IDがありません)
-
[解決済み] UITableViewの下にある余分なセパレータをなくす
-
[解決済み] iPhone UITextField - プレースホルダーの文字色を変更する
-
[解決済み] テキストフィールドを移動する方法(次へボタン/完了ボタン)
-
[解決済み] SwiftでiOSキーボードを任意の場所でタッチして閉じる
-
[解決済み] UILabelで複数行のテキストを表示する
-
[解決済み] ぼかしの入ったオーバーレイビューの作成
-
[解決済み] Swiftで配列に要素を追加する