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」パートは赤です:
ビルド設定は次のとおりです。
私のプロジェクトの設定:
ポッドの設定:
編集:
私は問題が何だったのか正確にはわかりませんが、DTCoreTextとCocoapodsのものをすべて削除し、すべてを再インストールしたときに解決しました!
私のために働いた以下を試してみてください:
a)[ターゲット設定]ビューの[ライブラリ]から検索し、ダブルクリックして_Library Search Paths
_の値を調べます
b)$(inherited)
と$(PROJECT_DIR)/Pods/build/Debug-iphoneos
の2つの値がリストされています。後者を削除します。
c)完全なクリーンアップ、ビルド、実行
d)もう一度_pod install
_を実行します。エントリが復元されないことに注意してください。
また、これは役立つかもしれません:
リンクされたバイナリには、libPods.a
とlibPods-MyProj.a
の両方がありました。以前、Podfileを更新して、2つの個別のターゲットを作成しました(Swiftブリッジングでテストをコンパイルするため))。つまり、古いlidPods.a
依存関係を手動で削除する必要がありました。
.xcodeprojではなく、.xcworkspaceファイルを開いていることを確認してください
$(inherited)
がその他のリンカーフラグビルド設定にないことがわかりました。このオプションを適用すると、表示されていなかったライブラリの問題が修正されました。
(製品/編集スキームの下の)「暗黙的な依存関係の検索」を選択すると、ポッドをターゲットとして追加する代わりにこの問題が解決されることがわかりました。
ターゲットのビルド設定ページで「ライブラリ検索パス」を探します。 Debugのフォルダー名をDebug-iphoneosからDebug-iphonesimulatorに変更します
私にとってエラーは、Podsターゲットにi386に必要なアーキテクチャスライスが含まれていなかったことです。そこで、Podsプロジェクト-> Pods-ProjectNameターゲットをクリックし、ビルド設定でアクティブアーキテクチャのみをNOにビルドの両方でデバッグとリリース。これにより、シミュレータスライスとデバイススライスの両方が構築されます。シミュレーターはi386アーキテクチャーを使用し、実際のデバイスはx86-64を使用します。そのため、シミュレータとデバイスへのサイドローディングの両方で実行する場合は、すべての依存プロジェクトのすべての依存ターゲットが両方をビルドしていることを確認する必要があります。
欠落しているポッドライブラリが実際にビルドされることを確認してください。これを行うには、ビルドスキームを開きます
Product > Scheme > Edit Scheme... > Build
podsターゲットを追加し、ライブラリが見つからないことを訴えたターゲットの前に置きます(私の場合、これはUIテストでした。何時間も苦労しました...)
この問題の原因はたくさんあります。
以下を確認する必要があります。
$(inherited)
トラブルシューティング: http://guides.cocoapods.org/using/troubleshooting.html
アプリの拡張機能を使用する場合、拡張機能のターゲットに移動し、ライブラリ検索パスにフィルターし、コンパイラが警告するパスを削除します。