ld:フレームワークが見つからないポッド


234

フレームワークをIOSプロジェクトに追加しようとしていますが、ビルドすると常に同じメッセージが表示されました。

ld:フレームワークが見つからないポッド

clang:エラー:リンカーコマンドが終了コード1で失敗しました(-vを使用して呼び出しを確認してください)

私は自分のPodsディレクトリを削除してから実行し、ポッドインストールのログに書き込まれてpod install いる.xcworkspaceように実行しました。xcodeでプロジェクトをクリーンアップしてからビルドしようとしましたが、機能しません。

私のpodfileは次のようになります。

xcodeproj '/Users/guillaume/project/Mobile/iOS/FoodPin/FoodPin.xcodeproj'
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!
pod 'SwiftHTTP', '~> 0.9.2'

私のバージョンのxcodeは 6.3.1

ありがとうございました、


1
libpods.aターゲットの「リンクされたフレームワークとライブラリ」にあることを確認しましたか?そしてあなたのビルドフェーズでも?
BoilingLime 2015

これをなんとか解決しましたか?同じエラーが発生しています
クリストファーフランシスコ

@ChristopherFrancisco私はそれを解決しました、私の答えをチェックしてください。
アービトゥール2015

1
この回答方法 [1]で問題が解決しました![1]がお役に立てば幸い
マリオカルバーリョ

@MárioCarvalhoそれは私の答えのより長くて初心者にやさしいバージョンですx)
Arbitur '27

回答:


524

Project Navigatorフォルダ内のPods私が持っていたPods.frameworkがこれに赤かったです。それはまた存在しましたLinked Frameworks and Libraries。両方の参照を削除したところ、エラーは消えました。

TL; DR

で削除Pods.framework

  • 名前の付いたフォルダ Pods
  • Linked Frameworks and Libraries

5
私はuse_frameworksを追加した後、私はこの問題に終わったと思います!私のPodfileに、その後コメントアウトします。Pods.frameworkへの参照を削除すると、問題が修正されました。
StephenT

2
@StephenTはい、私もそうだと思います。最初に使用しuse_frameworks!、次に使用せず、Pods.framework中に適切に削除されなかった可能性がありますpod install。Cocoapodsのバグかもしれません。
Arbitur 2015年

これは良い答えです。サンプルアプリには影響しませんが、問題なく動作します
ガブリエルゴンカルベス2015年

3
これが機能しない場合は、cocoapods-deintegrateを使用してみてください。これでこの問題は解決しました。
nickdnk 2016年

2
ポッドインストールを実行した後、どういうわけか、Podsフォルダーに "Pods_ <プロジェクト名>"。frameworkファイルができました。このファイルの削除、クリーニング、および再構築により、このエラーは解消されました。
Caleb Faruki、2016年

209

これは通常、.xcworkspaceではなく.xcodeprojファイルを開いていることが原因です。

「pod install」を初めて実行すると、元の.xcodeprojとポッドプロジェクトを含む.xcworkspaceファイルが作成されます。代わりに.xcodeprojを閉じて.xcworkspaceを開く必要があります。

これは、Xcodeの新しいプロジェクトウィザードを使用してプロジェクトを作成するときの一般的な問題です。Cocoapodを正しくリンクさせるために必要なワークスペースにいないことをよく忘れます。


よろしくお願いします!それは私を初めて混乱させます
Phi Nguyen

6
あなたの説明は、私が他で見たよりもはるかに優れています。何が起こっているのかわからなかった。ありがとう!
Michael Yaworski 16

Arbiturの回答と組み合わせると、これで問題が解決します。ありがとう!
user1577390

これはまさに私の問題でした。ありがとう!
Antonio Papalillo 2018

プロジェクト内に.xcworkspaceファイルがありません。何をするか
Kartiikeya

126

Xcode 9、10、11、11.5

インストールhttps://github.com/CocoaPods/cocoapods-deintegrate

pod deintegrate

その後

pod install

1
魅力のように働いた!ありがとうございました。これにより、このエラーの原因となっていた名前が変更されたターゲットへの古い参照が取り除かれました。
Alex Obenauer

1
あなたは私のヒーローです!;)
Swissdude

1
すごい私の日を救った!昨日から立ち往生し、ついにXcode 10で解決しました。ありがとう!
Purushottam Padhya 2018年

1
これは正解であるはずです、それは最も安全なアプローチです。CocoaPodsのような自動化されたものを使用する場合は、手動での手順を実行しないでください。
ゴベ

1
これは私を助けます、素晴らしい男!
Sruit A.Suk

51

.frameworkフォルダFrameworksにある赤いファイルを削除して、このエラーを解消しましたproject navigator。これLinked Frameworks and Librariesにより、General設定のセクションにある対応する赤いエントリも自動的に削除されたと思います。

別の問題を解決するために、ポッドをクリーニング/再インストールしています。おそらく、これらの赤いフレームワークファイルとエントリは、以前のポッドインストールから残ったものでしょうか?


はい!私の問題は、リンクされたフレームワークと一般設定のライブラリにあり、テキスト検索で表示されないため、見つけるのが困難でした。
Alistair Cooper

私の場合、フレームワークファイルは赤くもなく、淡色表示になっています。しかし、それらを削除すると問題が解決したようです!
スウィン

29

この問題を見つけた人のために。NativeScriptを使用していますが、同じエラーが発生しました。

これは、.xcodeprojファイルを開いたために起こりますが、プロジェクトは.xcworkspaceファイルで開く必要があります。


27

これは、Podfileを更新してポッド更新を行った後に起こりました。

何らかの理由で、「ターゲット」>「一般」>「リンクされたフレームワークとライブラリ」の下のプロジェクトの下に「Pods_ [ProjectName]」。frameworkファイルが表示されました。

これを削除してからクリーン/再構築すると、問題が修正されました。


2
これは、プロジェクト名を切り替えて、古い名前をクリアする必要がある場合に発生します。+1
Babbz77 2017年

これでうまくいきました。プロジェクト名は変更しませんでしたが、Swiftを長期実行Objective-Cプロジェクトに追加しました。
ルフィ、

24

私と同様の問題がありました

framework not found Pods_OneSignalNotificationServiceExtension

以下を削除することで解決しました。移動し、ターゲット OneSignalNotificationServiceExtension>ビルドフェーズ>ライブラリとリンクのバイナリおよび削除Pods_OneSignalNotificationServiceExtension.framework ここでは空にする必要があります。 希望をこのことができます。乾杯。


これで問題が解決しました。私の特定の状況は、iOSターゲットMyAppがあったことです。次に、2番目のターゲットを作成する必要があり、MyAppFirst、MyAppSecondターゲットがありました。Cocoapodsは必要なもの(Pods_MyAppFirst、Pods_MyAppSecond)を構築できましたが、存在しなくなったPods_MyAppへのリンクも試みていました。「ポッドインストール」を実行したときに、修正しようとしているときにワークスペースファイルとポッドフォルダーを破棄してゼロから再作成したが、それでも役に立たなかったことを指摘したい。
xdeleon 2018年

@Sharukh Mastanポッドのインストール後にこれを実現する方法を知っていますか?インストールをポッドするたびPods_OneSignalNotificationServiceExtension.framework に、OneSignalNotificationServiceExtensionターゲットのリンクされたフレームワークとライブラリに悩まされます。
Sethmr

@Sethmr残念ながら、違います。しかし、私の場合は、の後に常に発生するわけではなくpod install、ランダムです。
Sharukh Mastan

@SharukhMastan私の問題は、私のvsts .yml自動化スクリプトで*.xcodeproj/*.xcworkspace終わりを開いていました*.xcworkspace。私はGUIでよりよく知っていますが、それでもスクリプトの土地での要件に慣れています。
Sethmr

15

私は自分のプロジェクトの名前を変更してpodファイル内のプロジェクトの名前も変更したため、このエラーが発生しましたが、私のプロジェクトはそこにない古い名前を参照していて、このエラーが発生していました。私はこれを取り除く

pod deintegrate

に続く

pod install

はい!バージョンを12.0から9.0にダウングレードするときにも同じ問題が発生しました。上記は、Podfileのターゲットバージョンをプロジェクトの内容と一致するように変更した後に機能しました。
Richard Bown

いい答えだ。ありがとうございました。
whdals0

14

この画像のように、プロジェクトのいくつかのファイルを削除する必要があります。

あなたはpods.frameworkを削除する必要があり、ポッドは赤いファイルをマークします


10

「プロジェクト->一般->リンクされたフレームワークとライブラリ」のリストから.frameworkを削除するだけです。


プロジェクトの名前を変更した後は2つでした。ありがとう!
ジミー

10

Deployment Targetin を変更したGeneralが、in を変更するのを忘れたので、それは私に起こりDeployment TargetましたPods > General展開ターゲットを変更する


私もXcode 11.2 / Cocoapods 1.8.4で修正しました。エラーメッセージに根本的な原因との類似点がないことに苛立つ...
Jonathan Ellis

1
私のためにそれを修正しました-両方の場所でこれを変更する必要があるとは思いませんでした。トンありがとう!
hakazvaka

6

私の場合、デバイスとシミュレータで構築できますが、アーカイブ時に同じエラーが発生します。それを解決するために、私はしなければなりません

  • 削除する Pods.framework
  • Pods-<project-name>.framework埋め込まれていることを確認してください

TARGETS-> Linked Frameworks and Librariesに設定があります。


:あなたは、このチェックアウトすることができgithub.com/CocoaPods/CocoaPods/issues/...
Esqarrouth

4

ステップ1

最初に行う必要があるのは、Podfile、Podfile.lock、Podsフォルダー、および生成されたワークスペースを削除することです。

ステップ2

次に、.xcodeprojで、Pods.xcconfigファイルとlibPods.aファイルへの参照を削除します。

ステップ3

[Build Phases]プロジェクトタブ内で、[Check Pods Manifest.lock]セクション(開いている)、[Copy Pods Resources]セクション(下)およびEmbed Pod Resources(下)を削除します。

ステップ4

Pods.frameworkを削除します。

あなたがしたい唯一のことは、以前に使用していたライブラリのいくつかを含めることです。これを行うには、ポッドフォルダー内のフォルダーをプロジェクトにドラッグします(サポートファイルフォルダーに配置することをお勧めします)。

それは私のために働いた。


ステップ3は私の場合、ステップ3-> cmd + alt + shift + kで機能しました。
ViruMax 2018年

4

ポッドをプロジェクトに組み込もうとしている可能性が高いですか?これを行う唯一の方法は、CocoaPodsを使用する別のプロジェクトを作成することです。

使用しているすべてのワークスペースを閉じます。

次に、Podfileを完全に準備することを確認します。

コマンドラインで、ファイルがどこにあっても、次のコマンドを入力します。

pod deintegrate

次に、pod agianをインストールします。

pod install or pod update

これで、プロジェクトの新しいワークスペースを使用して開発できます。.workspaceというファイルを探します。そのファイルを使用してください!

ここにCocoaPodsの使用に関するガイドがあります


エラーで2日間の苦労の後、これだけが私にとってうまくいきました。
Mitesh Dobareeya 2018年

3

Xcode 8.3を使用すると、受け入れられた回答が機能しませんでした。私は他の多くの解決策を試しましたが、@ Elliott Daviesの回答がそれを修正してくれました。わかりやすくするためにスクリーンショットを追加しています。何らかの理由で、Xcodeは存在しなくなった以前のpodfile設定をリンクしようとしました。私がしなければならなかったのは、余分な参照を削除するだけで、すべてが機能しました。Xcodeにリンクされたフレームワークとライブラリのスクリーンショット


3

この問題は、プロジェクトに変更を加えずに突然起こったので、私を狂わせていました。私はこのスレッド(およびその他の関連)で提案されたすべての解決策を試しましたが、どれも問題を解決しませんでした。

他のプロジェクト(コンパイルは正常に行われた)との唯一の違いは、このプロジェクト名にアクセント(フランス語のアクセント "é")が含まれていることでした。プロジェクトとすべての関連ファイルの名前を変更しましたが、ようやく動作しました。

多分これはXcode 10へのアップデートに関連しています。このプロジェクトは以前はうまく機能していたためです...

編集:-プロジェクト名でプロジェクトを使用するときにも失敗したようです…


1
あなたは私の命を救った
Florian Mac Langlade

1
私の命も救った!
ダン、

プロジェクトの名前を変更する以外の解決策はありますか?
anestis

@anestis私はそうは思いません。プロジェクトの名前をすばやく変更するために、この回答stackoverflow.com/a/48004237/4894980のコマンドをお勧めします。
AnthoPak

3

私の場合、正しく構築されていることがわかっているブランチ間の違いを比較した後、Podfileに次の行があることに気付きました。

platform :ios, '11.0'

Xcodeのターゲットを10に設定したまま、誤ってターゲットバージョンを10から11に更新しました。10に戻すと問題が解決しました。

ターゲットiOSバージョンが正しく設定されていることを確認します。


あなたは私の日を救った!ありがとう
Mayank Patel

3

これは私が私の問題を修正する方法です。そして今私がこの答えを書くときそれはうまくいきます:

まず、上記の最も修正された方法をすべて試します。

ターゲットのビルドフェーズでリンクライブラリとフレームワークからPods_xxx.frameworkを削除すると役立ちます。問題は解消されますが、次の問題はPods.frameworkをインポートできなくなることです。

次に、xcworkspace構成を再初期化して、実際の問題を理解できるようにします。だから私は走る

pod deintergate

次に、ポッドを再度インストールします。

pod install

この作品は完全に動作しますが、問題はまだそこにありますが、実際の問題はPods_xxx.framworksがcocoapodsビルドスクリプトで正常にコンパイルされないことです。これが問題を解決する真の方法だと思います。

最後に、プロジェクトのスキームを編集してみます。

ポッドスキームは編集されていません

そして私はポッドスキームを管理に追加します:

ここに画像の説明を入力してください

そして、このPods.frameworkを個別にビルドすると、Pods.frameworkアイコンが本当に再び表示されます。

ここに画像の説明を入力してください

そして今、あなたはあなたの「フレームワークが見つかりませんPods_xxxx.framework」問題を修正したと思いますが、実際に私は別の問題が来ています:

ここに画像の説明を入力してください

だから私はビルド設定に行き、"Framework Search Path"with を編集します"${inherited}"そして今すべての問題が消えます、応援してください!!!! :)

ここに画像の説明を入力してください


ポッドターゲットを追加してビルドすると、実際にポッドビルドの問題点がわかりました。私たちの場合、これは迅速なバージョンの競合でした。ありがとう!
green0range

すべての手順を実行したわけではありません。私はその${inherited}パスを追加し、それを行いましたProduct->Clean Build Folder、そしてそれだけです、今では問題なく構築されます。
Starwave

2

ポッドを削除して更新した後も、同じ問題が発生しました。

以前の開発者が問題を引き起こしたフレームワーク名(私の場合は-framework 'OGVKit')を使用して、「ビルド設定->その他のリンカーフラグ」にフラグを設定したことがわかりました。

そのフラグを削除した後、プロジェクトは正しくビルドされます。


どうもありがとうございます!ビルド設定で大胆なものに常に注意を払う必要があります
マルシオGranzotto

2

platform正しく設定しなかったため、この問題が発生しました。

私のmacOSアプリでは、プラットフォームを次のように設定しました。

platform :ios

の代わりに

platform :osx

1

ダウンロードしCocoaPodsてビルドしたプロジェクトを選択してこの問題を解決しました。[スキームの管理]をクリックすると、実行バーに表示されます。その後、プロジェクトを再構築できます。お役に立てば幸いです。


1

私の場合、削除したライブラリへの参照がありました

ターゲット>ビルド設定>ランパス検索パス

ライブラリをPodfileから削除して更新しても明らかに削除されなかったため、手動で実行する必要があり、すべてが機能するようになりました。


1

これまでの回答のどれも私の状況の根本的な問題を指摘していませんでした。だから私はこれが他の誰かに役立つことを願っています。

私の場合、プロジェクトのルートでpodfileを編集する必要がありました。最初にpodfileを作成したとき、Swiftスタティックライブラリはサポートされていませんでした。だから私はuse_frameworks!自分のポッドファイルで各ターゲットの下でそのように使っていました:

...
target 'targetName' do
   use_frameworks!
   pod 'podName', '~> 0.2'
end

...
target 'targetName' do
   pod 'podName', '~> 0.2'
end

use_frameworks!pod installを実行するたびにフレームワークをインストールし続けるpodfileから削除しました。この行を削除したら、必ずpod installもう一度実行して、XcodeのFrameworksフォルダーから赤い.framework参照を削除してください。(下に添付されているように私は異なって見えましたが)

不要になった.frameworkファイル削除の画像

use_framework! こちらで詳細を読むこともできます


0

.xcworkspaceファイルを開いても同じエラーが発生する場合:

delete all the contents of Pods directory and from command line write "pod install" to resolve the issue.

0

ポッドのインストールまたは更新後に作成されたフレームワークフォルダーを削除する


0

私の問題を解決した他のことは、ターゲット->ビルド設定->その他のリンカーフラグに移動し、「-framework」とフレームワークの「名前」を削除することです。

ポッドを削除しようとしたときに発生しました。


0

Linked FrameworkとLibrariesに.frameworkファイルをドラッグしてこれを解決しました

エラーのためにこの問題が発生していてFIRAnalyticsConnector not foundFIRAnalyticsConnector.framworkファイルをLinked FrameworkとLibrariesにドラッグするだけで問題が解決したとしましょう


0

私はここですべての答えを試しましたが、どれもうまくいきませんでした。最終的には、デプロイメントターゲットを10.0から11.0にアップグレードすることで機能しました。なぜそれが修正されたのかはわかりませんが、Xcode 10.2.1へのアップグレードに関係しているのではないかと思います。



0

のような.Framework内の実行可能ファイルを確認してください ここに画像の説明を入力してください

  1. 実行可能ファイル名は、拡張子なしでこのようにする必要があります。

  2. このように表示されるいくつかのフレームワーク ここに画像の説明を入力してください

  3. ターミナルのgoto .frameworkディレクトリを使用します。以下のコマンドを使用します。lipo-create FrameworkName-x86_64 FrameworkName-armv7 FrameworkName-armv7s FrameworkName-i386 FrameworkName-arm64 -output FrameworkName

単一の実行可能ファイルを作成した後、このファイルを削除します ここに画像の説明を入力してください

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