Xcode-ld:-lPodsのライブラリが見つかりません


185

iOSアプリケーションをビルドしようとすると、これらのエラーが発生します。

ld: library not found for -lPods
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Ld /Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Products/Debug-iphonesimulator/Totalbox.app/Totalbox normal x86_64
cd /Users/Markus/Development/xcode/totalbox-ios
export IPHONEOS_DEPLOYMENT_TARGET=7.1
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch x86_64 -isysroot 
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.1.sdk -L/Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Products/Debug-iphonesimulator -F/Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Products/Debug-iphonesimulator -filelist /Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Intermediates/Totalbox.build/Debug-iphonesimulator/Totalbox.build/Objects-normal/x86_64/Totalbox.LinkFileList -Xlinker -objc_abi_version -Xlinker 2 -ObjC -framework CoreGraphics -framework Foundation -framework MobileCoreServices -framework QuartzCore -framework Security -framework SystemConfiguration -fobjc-arc -fobjc-link-runtime -Xlinker -no_implicit_dylibs -mios-simulator-version-min=7.1 -framework CoreGraphics -framework UIKit -framework Foundation -lPods -Xlinker -dependency_info -Xlinker /Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Intermediates/Totalbox.build/Debug-iphonesimulator/Totalbox.build/Objects-normal/x86_64/Totalbox_dependency_info.dat -o /Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Products/Debug-iphonesimulator/Totalbox.app/Totalbox

ビルド設定のPODS ROOT:

${SRCROOT}/Pods

私はこのXcodeプロジェクトを作成しませんでした-gitからプルして、チェックアウトしました。

回答:


601

プロジェクトでCocoaPodsを使用する場合は、.xcworkspaceファイルではなく常にファイルを開くように注意して.xcodeprojください。


2
また、通常のXcodeターゲットではなく、ポッドターゲットを作成することも役立ちました。
Don Simon

1
開いた後、プロジェクトをまったく実行できません。私は何をすべきか?
犬夜叉

への参照がにPods.xcodeprojないが、.xcworkspaceこのソリューションが機能する理由に気づきました。
Jacksonkr

1
プロジェクトフォルダーにCdし、「ポッド更新」を実行します。ポッドがない場合は、インストール方法を検索してください。
justinkoh

2
.xcworkspaceを開くときにエラーメッセージが表示されました(具体的には、これはMacでは1回だけ機能し、もう1つは機能しませんでした)。私の場合、プロジェクトの名前を変更し、後で別のコンピューターにコピーすることに関連する問題が見つかりました。ライブラリは新しい場所にコピーされませんでした。比較:/Users/[USERNAME]/Library/Developer/Xcode/DerivedData/[OLDPROJECTNAME]-[LONGRNDCHARS]/Build/Products〜:/Users/[USERNAME]/Library/Developer/Xcode/DerivedData/[NEWPROJECTNAME]-[LONGRNDCHARS]/Build/Products
Yatko

97

この問題もありました。CocoaPodsのインストールに問題がありました。KIF以外のポッドは正しくインストールされていませんでした。私はこのスレッドのコメントを参考にしています

基本的に、Build Active Architectures Only私のプロジェクトとポッドプロジェクトの設定が同じであることを確認する必要がありました。


7
私のプロジェクトのターゲットとポッドのターゲットの間でも同じであることを確認する必要がありました...
Nimrod Shai

これは6か月に1回発生し、前回解決した方法を思い出せません。アクティブアーキテクチャのみを構築してください。。。覚えておいてください
Kanongata

51

何時間もの調査の後、このソリューションは私にとってうまくいきました:

(免責事項:結果は状況により異なる場合があります)

Library not found -lPods-(someCocoapod)エラーが原因で複数のエントリにしました。

Settings(Target) > Build Settings > Linking > 'Other Linker Flags'

他の多くの投稿でその場所を調べてもらったところ、エントリをいじったときにエラーが変更されたように見えましたが、同じエラーのバリエーションがいくつかありました。

あまりにも多くの時間を失った...

私の修正:

「その他のリンカフラグ」リストで-lPods-(someCocoaPod)行を削除BUT(継承)$が先頭にある場合にのみ。最初は確信が持てませんでしたが、編集モード(継承)を終了したときに、まだココアポッドへの参照が表示されていたので安心できました。デバッグとリリースでテストしましたが、どちらもエラーになり、問題はすぐに解決しました。


魅力のように働いた、ありがとう。El CapitanでSwift 2.0にアップデートするときにのみこの問題が発生しました。以前は完全に機能していました。
Ovi

私は$(inherited)しか持っておらず、同時にこれらのイライラするだましを持っています。$(inherited)変数の元の値はどこで編集できますか?
nickolay 2015

あなたは私の一日の男を救った....この問題にしばらく留まっている...ポッドプロジェクト全体を削除して再追加したために起こりました
Mihir Mehta

私も修正しました。これを自分で考え出したことはありません!
bmueller、2015年

やった!魅力的な作品
Rob Sanders

31

プロジェクトはココアポッドを使用しているようです。そして、そのファイルがプロジェクトから欠落しています。

gitからダウンロードすることはできません。cocoapodsからインストールする必要があります。

さらにヘルプが必要な場合は、CocoaPodsチュートリアルの概要に従ってください。

プロジェクトの用途は場合はCocoaPods、常に開くことに注意して.xcworkspaceファイルの代わりに、.xcodeprojファイルを


1
@RahulPatel特定のファイルをインストールする方法を教えてください
Ashok Londhe

新しいベータ版を使用したい場合は、使用することができます:pod 'GoogleAds-IMA-iOS-SDK-For-AdMob', '3.0.beta.16'
Berendschot

27

プロジェクトに複数のターゲットがある場合、Cocoapodsはそれらの1つだけとうまく統合されている可能性があります。

libPods.a追加のターゲットごとに、「ライブラリとバイナリをリンク」で手動でリンクする必要がありました。

フレームワークのリストにあるlibPods.a


私は、私が追加したすべてのターゲットとしてRizwanのisntructionにlibPods.aファイルを統合されていませんインストールPODだと思うし、それは...働くおかげRizwan Sattar
Wagh

赤字で表示されていませんが、これでうまくいきました。その後、ポッドインストールを実行しましたが、追加されませんでしたが、すべてが機能しているようです。
Jules

2
実際、私がしなければならなかったのは、古いプロジェクト(my-project-name).aを削除することです。これは、以前にプロジェクトの名前を変更したので、そこでスタックしてしまったためです。問題がどこにあるかについてのアイデアを提供してくれたので、私はあなたの答えを高く評価しました。
kalafun 2016年

あなたは命の恩人です!
Yuliwee

24

私の問題は次の設定で修正されました:

Build Active Architecture Only: YES

SDWebImageで問題が発生したとき、これはうまくいきました...ココアポッドコンポーネントのための方法をここに見つけた人のために
Scott D

これは私にとってその問題を解決しますが、別の原因になります。アクティブなアーキテクチャだけでなく、すべてのアーキテクチャ用にビルドする必要があります。
HotFudgeSunday 2016

古いコードでは、ポッドを統合しています。同じ問題に直面しています。上記の回答が役立ちました。
Shashank Kulshrestha

15

react-native-fbsdkを使用してインストールした後にエラーを解決するために誰かがここに来た場合Cocoapodsは、プロジェクトのビルドフェーズで他のすべての.aファイルを削除し、.aをcocoapodsから呼び出さないようにする必要があることに注意してくださいlibPods-WhateverAppName.a

それだけがここに残っています

これは通常、実行rnpm linkとrnpmの動作方法が原因です。

ビルドフェーズからFacebookコアの.aファイルを削除した後、プロジェクトが再び稼働し始めました。


11

lPodsに関連するこの問題は、以下の手順に従って修正できます

  • プロジェクトターゲットを選択します。
  • 行く"Build Phases"の中で"Link Binary With Libraries"
  • ".a"問題を引き起こしているそのライブラリのファイルを削除します。
  • クリーンとビルド。

これは機能します。


私の場合、削除libstdc++.6.dylibすると問題が解決しました!
Igor de Lorenzi

「-lstdc ++。6」を削除する必要があるため、「libstdc ++。6.dylib」を削除した方法と場所。「-lstdc ++。6のライブラリが見つかりません」
Hari Narayanan

10

上記の答えのどれも私のためにそれを修正しませんでした。

代わりに、セクション外のコマンドで実行pod installしました。だから例えば:podtarget

#WRONG
pod 'SOMEPOD'

target "My Target" do
    pod 'OTHERPODS'
end

私はすぐにそれを修正し、誤ったポッドをtargetそれが属していたセクションに戻し、pod install再度実行しました。

# CORRECT
target "My Target" do
    pod 'SOMEPOD'
    pod 'OTHERPODS'
end

しかし、その間に起こったのは-libPods.a、リンクされたライブラリにlib が追加さ-libPods-My Target.aれたことです。これはもう存在せず、すでにそこにあるので、存在すべきではありません。

したがって、解決策は、ターゲットの一般設定に移動し、リンクされたフレームワークとライブラリに移動し-libPods.aて、リストから削除することでした。


ココアポッドをプロジェクトに適切にインストールしましたが、OPと同じエラーが発生しました。-libPods.aを削除すると解決しました。どうもありがとうございました。
NKorotkov

私は古いプロジェクトを更新していて、古いPodfileをスクラップして実行pod initして新しいプロジェクトをセットアップしましたが、古いファイルはあなたの# WRONGやり方に似ていて、新しいファイルはのようなもの# CORRECTでした。ありがとうございました!
BJミラー

8

私のステップ:

  1. podsフォルダーと「Pods」ファイルを削除します。
  2. ターミナルに「ポッドインストール」と入力します。
  3. ターミナルに「ポッドアップデート」と入力します。

以前の回答で述べたように、「Build Active Architectures」がYESに設定されていることを確認することに加えて、これは私のためにそれを行ったものです。


+1私の場合、それ-lHelpshiftがポッドの特定の名前である場合。次に、特定のフォルダのみを削除しますPods/Helpshift。その後、pod install再度行います。更新する必要はありません。現在は機能しています。
haxpor 2017年

1
すべてのポッドを削除してから再インストールすると問題が解決しました。
Sanad Liaquat

7

からアップグレードDeployment target7.08.0有効にした後も同じ問題がありましたuse_frameworks!

cocoapods以前に生成されたPodName.aファイルをFrameworksプロジェクトのセクションから削除しませんでした。

それらを引き起こしたので、私はそれらを手動で削除する必要がありました linker error


4

podfileを除く、インポートされたcocoapodsソースの対応するすべてのファイル/フォルダーを削除します。

install cocoapod これも、元のソースからの冗長なプルをクリアするはずです。


3

Cocoapodを使用する場所からプロジェクトを複製する場合は、プロジェクトにプロジェクトをインストールする必要があります。

ここであなたがする必要があることを段階的に:

  • 1)ローカルマシンにソースコードを複製します。
  • 2)xcodeプロジェクトを閉じます(開いている場合)。
  • 3)端末で次のコマンドを実行して、Macにcocoapodsアプリケーションをインストールします: " gem install cocoapods "、add " sudoうまくいかなかった場合は先頭に」をます。
  • 4)ターミナルで" cd "コマンドを使用して、xcodeプロジェクトのルートに移動します。
  • 5)このフォルダーにPodfileがあるはずです。「cat Podfile」コマンドを使用して再確認したい場合は、プロジェクトにインストールする必要があるライブラリとともにこのファイルの内容を表示します。
  • 6)次に、「pod install」コマンドを使用して、ライブラリをプロジェクトにダウンロードおよびインストールします。Podfile.lockが作成され、{あなたのプロジェクト名} .xcworkspaceのファイル。
  • 7)これからは、{Your project name} .xcworkspaceを使用してxcodeで開く必要があります。

幸運を!


3

これは、cocoapodsを使用してFirebaseをXcodeプロジェクトに統合しようとしたときの私の問題でした

library not found for -lGoogleToolboxForMac
linker command failed with exit code 1 (use -v to see invocation)

何時間もスタックオーバーフローにリストされているさまざまな修正を検索して試した後、私の問題は最終的に次の手順で修正されました

  1. に移動しBuild Settings、を検索しOther Linker Flags、必要なすべての値を削除します$(inherited) 画像

すべてのターゲットに対してこれを行います。

  1. podsフォルダーを削除します。(ios/Pods
  2. 行う pod update

出来上がり!リンカーエラーはすべてなくなります。


これは私にも起こる必要がありました。ただし、私の場合も、Firebase Analyticsに追加された反応ネイティブアプリでした。2018年7月の時点で、すべてのアプリはAppleごとにiOS 11でビルドする必要があります。 11.xまで、私がターゲットとしていたものです-アプリはビルド/アーカイブされ、送信することができました。
bo_

2

私にとっては、以下がうまくいきました。

  1. 「プロジェクトターゲット->ビルド設定->前処理->プリプロセッサマクロ」に移動します。「プリプロセッサマクロ」のすべてのデバッグ、統合、リリースで「COCOAPODS = 1」を設定します
  2. 「プロジェクトターゲット」の下の「その他のリンカーフラグ」に以下を追加します。
    1. $ inherited
    2. -ObjC
    3. -lc ++
    4. -all_load

プロジェクトをクリーンアップして実行します。それでもエラーが発生する場合は、「プロジェクトターゲット->ビルド設定->アクティブアーキテクチャのみのビルド」を設定し、「デバッグ」を「はい」に、「統合およびリリース」を「いいえ」に設定してみてください。次に、すべての「ポッドターゲット」に対して「アクティブアーキテクチャのみをビルド」の同じ設定を繰り返します。

プロジェクトをクリーンアップして実行します。次のエラーが発生した場合

 No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=x86_64, VALID_ARCHS=i386).

次に、このリンクでマイク氏の答えを試してください

Xcode 5.1-コンパイルするアーキテクチャはありません(ONLY_ACTIVE_ARCH = YES、active arch = x86_64、VALID_ARCHS = i386)

それが役に立てば幸い!


2

複数のターゲットを持つプロジェクトで、スキームとアプリの名前を変更してポッドを更新しようとしたところ、同じ問題が発生しました。この問題は、以前の.aライブラリと現在のライブラリの両方がリストされていて、以前のものが存在しなくなったときに、ビルドフェーズ->バイナリとライブラリのリンクに複数のエントリがあるために発生しました。そこからライブラリを削除すると、問題は解決しました。


1

私のやり方

  1. 新しいプロジェクトを作成し、エラーなしで実行できるポッドをインストールします。

  2. 新しいプロジェクトの「その他のリンカーフラグ」のテキストを古いプロジェクトにコピーします。古いプロジェクトを同じ新しいプロジェクトにします。

  3. 「ヘッダー検索パス」もチェックしてください。


1

私にとってはこれでうまくいきました。アプリ名をsomeAppからotherAppに変更しました。また、複数のサードパーティサービスの統合にカカオポッドを使用しています。そのため、2つのlibPodファイルが追加されました(アプリの名前とターゲットを変更したため)。最後に、1つのlibPodを削除する必要がありました。そしてそれはうまくいった。

ターゲット->ビルドフェーズ->ライブラリとバイナリをリンク


1

同じエラーが発生しました。

問題:別のワークスペースを作成し、それに既存のプロジェクトを追加しました。そのワークスペースで作業しているときにエラーが発生しました。

修正:後で、依存関係を追加すると、既存のプロジェクト内にワークスペースが自動的に作成されることがわかりました。そして、そのワークスペースで作業する必要があります。


この回答は、尋ねられた質問を修正する方法を明確に述べていません
Mark

1

以下の解決策は、core-plot 2.3バージョンで私にとってうまくいきました。他のリンカーフラグセクションで以下の変更を行います。

1. $(inherited)を追加し、このアイテムを一番上の位置にドラッグします。

それでも問題が解決しない場合は、最後にPODS_ROOTが設定されているかどうかを確認します。ユーザー定義セクションで確認できます。


1

同じ問題がありました

コマンドラインでのポッドのインストールとポッドの更新で問題が解決する


1

プロジェクトでCocoaPodsを使用する場合は、常に.xcodeprojファイルではなく.xcworkspaceファイルを開くように注意してください。.xcworkspaceを使用している場合は、ポッドを削除してポッドファイルを再インストールし、再度ポッドを挿入してインストールしてください!!! これは私のために働いた

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.