web-dev-qa-db-ja.com

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

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から引っ張っただけです。

166
mrks

プロジェクトがCocoaPodを使用している場合は、.xcworkspaceファイルの代わりに.xcodeprojファイルを常に開くように注意してください。

527
H6.

この問題もありました。 CocoaPodsのインストールに問題がありました。 KIF以外のポッドは正しく取り付けられていませんでした。私は このスレッド へのコメントに従って、助けになりました。

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

89
Stunner

何時間もの調査の後、この解決策は私のために働きました:

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

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

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

他にもたくさんの投稿がありましたし、エントリをめちゃくちゃにしたときにエラーが変更されているのがわかりますが、私は同じエラーに対していくつかのバリエーションを得続けました。

失われた時間が長すぎます...

私の修正:

'Other Linker Flags'リスト内の-LPODS-(SOMECOCOAPOD)行を削除します。ただし、$(INHERITED)が先頭にある場合のみを削除します。最初は確信が持てませんでしたが、確かな兆候は、編集モードを終了したときにまだ継承されているということです。私はデバッグとリリースでテストしましたが、どちらもエラーを出していましたが、問題はすぐに解決されました。

48
damote

プロジェクトは cocoapods を使用しているようです。そして、そのファイルはあなたのプロジェクトからなくなっています。

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

もっと手助けをするには、 CocoaPodsチュートリアルの紹介 に従ってください。

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

32
Rahul Patel

プロジェクトに複数のターゲットがある場合、Cocoapodはそれらのうちの1つだけとうまく統合されているだけかもしれません。

私が持っているそれぞれの追加のターゲットのために "Link Binary With Libraries"で手動でlibPods.aにリンクしなければなりませんでした。

libPods.a in my list of frameworks

26
Rizwan Sattar

私の問題は次の設定で直っていました:

Build Active Architecture Only: YES
22
Durul Dalkanat

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

私が代わりにしたことはpodセクションの外でtargetコマンドを使ってpod installを実行することでした。だから、例えば:

#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がリンクされたライブラリに追加されたことです。これはもう存在せず、すでにそこに-libPods-My Target.aがあるのでそうすべきではありません。

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

10
gravy

Cocoapodsを使用してインストールした後にreact-native-fbsdkでエラーを解決するためにここに来た人がいる場合は、プロジェクト内の他のすべての.aファイルを削除し、ビルドフェーズを実行する必要があります。 cocoapodsからの.aはlibPods-WhateverAppName.aと呼ばれます。

Only that remains here

これは通常rnpm linkを実行したこととrnpmが機能する方法によって引き起こされます。

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

8
SudoPlz

私のステップ:

  1. Podsフォルダと 'Pods'ファイルを削除してください。
  2. ターミナルに「pod install」と入力します。
  3. ターミナルに「pod update」と入力します。

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

7
David Liu

Deployment target7.0から8.0にアップグレードし、use_frameworks!を有効にした後に同じ問題が発生しました

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

それで、私はそれらを手動で削除しなければなりませんでした、それらがlinker errorを引き起こしたので

6
Tim

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

install cocoapod再び。これにより、元のソースからの冗長なプルがクリアされます。

4
thatzprem

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

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

プロジェクトをクリーンにして実行します。それでもエラーが発生する場合は、[プロジェクトターゲット] - > [ビルド設定] - > [アクティブアーキテクチャのみをビルド]を選択し、[デバッグ]を[はい]に、[統合とリリース]を[いいえ]に設定します。それから、すべての「Podsターゲット」に対して「Build Active Architectures Only」の同じ設定を繰り返します。

プロジェクトをクリーンにして実行します。次のようなエラーが表示されたら

 No architectures to compile for (ONLY_ACTIVE_Arch=YES, active Arch=x86_64, VALID_ARCHS=i386).

それでは、このリンクでマイクさんの答えを試してみてください。

Xcode 5.1 - (ONLY_ACTIVE_Arch = YES、アクティブArch = x86_64、VALID_ARCHS = i386)用にコンパイルするアーキテクチャはありません

それが役に立てば幸い!

2
Sakthimuthiah

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)これからは{あなたのプロジェクト名} .xcworkspaceを使ってxcodeで開く必要があります。

頑張ってください

2
Renat Gatin

複数のターゲットを持つプロジェクトで、SchemeとAppの名前を変更した後に同じ問題が発生し、ポッドを更新しようとしました。この問題は、前の.aライブラリと現在のライブラリの両方がリストされていたが、前のライブラリはもう存在していなかった[Build Phases] - > [Link Binary to Libraries]に複数のエントリがあるために発生しました。そこからライブラリを削除すると、問題が解決しました。

2
Shardon

私は同じ問題を抱えていた

コマンドラインでpod installとpod updateを実行すると問題が解決します

1
tamtoum1987

cocoapodsを使ってFirebaseを私のXcodeプロジェクトに統合しようとしているときの私の問題

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

Stackoverflowに記載されているさまざまな修正を検索して試した結果、私の問題はようやく以下の手順で修正されました。

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

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

  1. Podsフォルダを削除してください。 (ios/Pods
  2. pod updateをする

ほら!すべてのリンカエラーはなくなります。

1
Hariks

このlPodに関する問題は、以下の手順で解決することができます。

  • プロジェクトターゲットを選択します。
  • "Build Phases""Link Binary With Libraries"に行きます。
  • 今問題を引き起こしているそのライブラリの".a"ファイルを削除します。
  • きれいにして造ってください。

これはうまくいくでしょう。

1
Abuzar Amin

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

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

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

1. $(継承)を追加し、この項目を上の位置にドラッグします.

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

1
Saikiran K

私のやり方

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

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

  3. "Header Search Paths"もチェックしてください。

私は同じエラーを受けました。

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

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

1
Vasanth

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

0