web-dev-qa-db-ja.com

エラー:ld:CocoaPodsで-lPodsのライブラリが見つかりません

cocoapodsでDTCoreText( https://github.com/Cocoanetics/DTCoreText )をインストールした後、シミュレータまたはデバイスを実行しようとすると常にエラーが発生します!

ld: warning: directory not found for option '-L/Users/example/Desktop/ios/Pods/build/Release-iphoneos'
ld: warning: directory not found for option '-L/Users/example/Desktop/ios/Pods/build/Debug-iphoneos'
ld: library not found for -lPods-example
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

「ライブラリとバイナリをリンク」の「libPods」パートは赤です:

enter image description here

ビルド設定は次のとおりです。

私のプロジェクトの設定:

enter image description here

ポッドの設定:

enter image description here

編集:

私は問題が何だったのか正確にはわかりませんが、DTCoreTextとCocoapodsのものをすべて削除し、すべてを再インストールしたときに解決しました!

29
Davis

私のために働いた以下を試してみてください:

a)[ターゲット設定]ビューの[ライブラリ]から検索し、ダブルクリックして_Library Search Paths_の値を調べます

b)$(inherited)$(PROJECT_DIR)/Pods/build/Debug-iphoneosの2つの値がリストされています。後者を削除します。

c)完全なクリーンアップ、ビルド、実行

d)もう一度_pod install_を実行します。エントリが復元されないことに注意してください。

48
gemmakbarlow

また、これは役立つかもしれません:

  1. メインプロジェクト(Podではなく)でメインターゲットを選択します
  2. ビルドフェーズタブに移動します
  3. ライブラリとバイナリをリンクに移動します
  4. 問題の原因となっているライブラリを削除します(おそらく赤色です)。
36
kudinovdenis

リンクされたバイナリには、libPods.alibPods-MyProj.aの両方がありました。以前、Podfileを更新して、2つの個別のターゲットを作成しました(Swiftブリッジングでテストをコンパイルするため))。つまり、古いlidPods.a依存関係を手動で削除する必要がありました。

25
bobics

.xcodeprojではなく、.xcworkspaceファイルを開いていることを確認してください

24
Hsm

$(inherited)その他のリンカーフラグビルド設定にないことがわかりました。このオプションを適用すると、表示されていなかったライブラリの問題が修正されました。

8
John Dunne

(製品/編集スキームの下の)「暗黙的な依存関係の検索」を選択すると、ポッドをターゲットとして追加する代わりにこの問題が解決されることがわかりました。

5
StackRunner

ターゲットのビルド設定ページで「ライブラリ検索パス」を探します。 Debugのフォルダー名をDebug-iphoneosからDebug-iphonesimulatorに変更します

4
Kent Ke

私にとってエラーは、Podsターゲットにi386に必要なアーキテクチャスライスが含まれていなかったことです。そこで、Podsプロジェクト-> Pods-ProjectNameターゲットをクリックし、ビルド設定でアクティブアーキテクチャのみをNOにビルドの両方でデバッグリリース。これにより、シミュレータスライスとデバイススライスの両方が構築されます。シミュレーターはi386アーキテクチャーを使用し、実際のデバイスはx86-64を使用します。そのため、シミュレータとデバイスへのサイドローディングの両方で実行する場合は、すべての依存プロジェクトのすべての依存ターゲットが両方をビルドしていることを確認する必要があります。

2
FranticRock

欠落しているポッドライブラリが実際にビルドされることを確認してください。これを行うには、ビルドスキームを開きます

Product > Scheme > Edit Scheme... > Build

podsターゲットを追加し、ライブラリが見つからないことを訴えたターゲットの前に置きます(私の場合、これはUIテストでした。何時間も苦労しました...)

2
Thomas Köhn

この問題の原因はたくさんあります。

以下を確認する必要があります。

  • ビルド設定$(inherited)
  • すべての暗黙的な依存関係を検出する
  • .......

トラブルシューティングhttp://guides.cocoapods.org/using/troubleshooting.html

2
Tony

アプリの拡張機能を使用する場合、拡張機能のターゲットに移動し、ライブラリ検索パスにフィルターし、コンパイラが警告するパスを削除します。

0
tounaobun