フレームワークが見つかりませんGoogleToolboxForMac


82

「ポッドアップデート」でFirebaseをアップデートした後、次のようなエラーが発生しました:

ld: warning: directory not found for option '-F/Users/bennysantoso/Library/Developer/Xcode/DerivedData/FCM-atfcxuircoryufazlomgwfgmvaqm/Build/Products/Debug-iphonesimulator/GoogleToolboxForMac'
ld: framework not found GoogleToolboxForMac
clang: error: linker command failed with exit code 1 (use -v to see invocation)

ここに私のポッドファイル:

# Uncomment this line to define a global platform for your project
# platform :ios, '9.0'
pod 'Firebase/Core'
pod 'Firebase/Messaging'

target 'BB' do
  # Comment this line if you're not using Swift and don't want to use dynamic frameworks
  use_frameworks!

  # Pods for BB

  target 'BBTests' do
    inherit! :search_paths
    # Pods for testing
  end

  target 'BBUITests' do
    inherit! :search_paths
    # Pods for testing
  end

end

誰かがこのエラーについて知っていますか?

GoogleToolboxForMacとFirebaseの関係を探していますが、ほんの少しの情報しか得られません。

参考までに、私はSwift2.3とFirebase3.8.0を使用しています。

私はあなたが提供できるどんな助けにも感謝します。ありがとう!


2
私も同じです。誰か助けてくれませんか?私は一日中これに取り組んできました:/同じライブラリの古いバージョンを使用するとGoogleToolboxForMacが使用されておらず、完全に機能
Santi Iglesias

他のstackoverflowの回答から、次のすべてをポッドファイルに追加しようとしましたが、まだ機能していません:pod'Google / Analytics 'pod'Firebase / Core' pod'Firebase / AdMob '#GoogleToolboxForMacにないエラーポッド' Firebase / Messagingを修正しようとしています"ポッド'GoogleToolboxForMac /ロガー'ポッド'GoogleToolboxForMac'、 '〜> 2.1'
チャーリー・セリグマン

まず、ポッドファイルの形式が古い(2016年第4四半期)。それを削除し、「podinit」を使用して新しいものを作成します。以下に示すように、xcodeprojではなくワークスペースを使用してください。
igraczech 2017

回答:


168

同じエラーが発生しました。ポッドをインストールすると、次のメッセージが表示されます。

[!]現在のXcodeセッションをすべて閉じて、今後このプロジェクトにMyApp.xcworkspaceを使用してください。

私はこれに初めて気づかず、通常のxcodeprojファイルを使用してプロジェクトをビルドしようとしていました。このメッセージを見た後、私は適切なプロジェクトを開き、それはうまくいきました。

このプロジェクトを開くと、2つのサブプロジェクトがあることに気付くでしょう。1つはプロジェクトで、もう1つはポッドプロジェクトです。


40

フレームワークが見つかりません

ポッドを使用する場合、通常、この問題に直面します。

これには2つの主な理由があります

  1. この回答でizaaz- yunusが述べているように、.xcworkspaceではなく.xcodeprojファイルを開くと

  2. ときにビルドアクティブ・アーキテクチャのみに設定されているはいビルド設定

    これは、プロジェクトターゲットと、ポッドプロジェクトのすべてのターゲットに適用されます。

メインプロジェクトのスクリーンショット Build Active ArchitectureOnlyをNoに設定します

ポッドプロジェクトのスクリーンショット ここに画像の説明を入力してください

  1. (メインプロジェクト、ポッドプロジェクトの両方の)ビルド設定を選択します
  2. ターゲットを1つずつ選択します
  3. 設定ビルドアクティブアーキテクチャはありません各ターゲットについて

最後に、プロジェクトをクリーンアップして再構築します。


タイプミスが#2あなたが「はい」と言ったが、画像が示す「いいえ」で、感謝@Vinayクマールで、そこにあるある
greenridinghood

#2は問題の原因を示しており、画像は問題を解決するための設定がどのように見えるかを示しています
VinayKumar19年

他のすべてのソリューションは、私にとっては機能しません。
ただし

18

私の場合、すべての統合はうまく行われており、ポッドの削除と再インストールを何度も試みましたが、成功しませんでした。

最後に、以下の手順で試してください

Projetc-> Manage Schemes->チェックボックス「Pods-MyProjectName」を選択

そして成功を収めましょう。


シミュレーターで実行しているときにこのエラーが発生しましたが、実際のデバイスでは発生しませんでした。
mpwhitt 2017年

これは私にとってはうまくいきましたが、プロジェクトをビルドする前に、ポッドプロジェクトも明示的にビルドする必要がありました。理由はわかりません。
pieSquared 2017年

1
私はこれをしましたが、シミュレーターでアプリを実行できませんか?
Drailan John Terrible 2018

2
「ポッド・プロジェクト名」を構築した後、私は...私のデバイス上で実際のプロジェクトを実行することができました
ティム・バース

14

GoogleToolboxForMacは、Firebase / Messagingの依存関係です。podspecの詳細。「ポッドの更新」を行う場合、Cocoapodsは、GoogleToolboxForMacをビルドしてリンクするようにワークスペースを設定する必要があります。

ワークスペースの状態が悪いようです。製品->クリーンは役に立ちますか?派生データとModuleCacheを削除するのはどうですか(Xcode->設定->場所->派生データ)?

必須ではありませんが、ポッド「GoogleToolboxForMac / Logger」をポッドファイルに明示的に追加してみることもできます。


いいえ、これは私にはうまくいきませんでした...ワークスペースからプロジェクトを開くことでうまくいきました!
Jayprakash Dubey 2017

2
@JayprakashDubeyこの回答は、ワークスペースから開始していることを前提としています。最初の段落を参照してください。答えは、同じ症状につながる別のシナリオを解決します。
Paul Beusterien 2017年

1
@PaulBeusterienここであなたが言ったことをすべて試しましたが、それでもビルドできません。
Drailan John Terrible 2018

6
その作品の
1.ディレクトリでプロジェクトを選択します
2. [一般]を選択します
3.リンクされた「フレームワークとライブラリ」に「GoogleToolboxForMac.framework」を追加します

ライブラリをリンクすると、明示的に解決されました。ありがとう!
Liquinaut 2017年

5

これは、[ビルド設定]-> [LIBRARY_SEARCH_PATHSの検索]に$(継承)を追加することで修正されました。

プロジェクトが依存する最新バージョンのライブラリのポッドファイルを更新すると、デバッグ出力ですべての$(継承)フラグを追加する必要がある場所が示されるため、これは理解できます。LIBRARY_SEARCH_PATHSOTHER_LD_FLAGS GCC_PREPROCESSOR_DEFINITIONS


$(inherited)をどこに置くか+を押してから$(inherited)と入力する必要がありますか?
Drailan John Terrible 2018

はい、あなたは、編集可能なボックスの+と入力$(継承)または単にダブルクリックを押すことができますし、あなたが入力$(継承)することができます
TomV

これで私の問題は解決しました!あなた@TomVありがとう
Spettacolo83

2

に移動しtarget -> Build Settings -> Other Linker Flags -> remove framework "GoogleToolboxforMAC"、プロジェクトをビルドします。


1

デバイスで実行しようとしたときに同じ問題が発生しました。シミュレーターでは、正常に動作していました。上記のいくつかを試しましたが、うまくいきませんでした。ファイルの.xcworkspace代わりに作業していることを確認した.xcodeprojので、これを試してみました。次の手順に従ってください:

  1. .xc ...ファイルを使用してXcodeプロジェクト(cocoapodsプロジェクト)を開きます。
  2. プロジェクトナビゲータでポッドプロジェクトを選択します(左側の青いアイコン)。
  3. [ターゲット]で、[ポッド-プロジェクト名](青いアイコン)が選択されていることを確認します。
  4. [ビルド設定]に移動し、プロジェクトを実行するiOSバージョンのiOS展開ターゲットを設定します。

注:で設定したものと同じですProject->Targets->Deployment info->Deployment Target

多分誰かがこれから恩恵を受けるでしょう。


1

XCodeで同じエラーが発生する場合は、次の場所にアクセスしてください。

プロジェクト>ターゲット>リンクされたフレームワークとライブラリまで下にスクロールし、ライブラリエントリが淡色表示されているかどうかを確認します。

XCode Linked Framework andLibrariesのスクリーンショット

その場合は、削除して再度追加します。私の場合、エントリが重複していて、そのうちの1つが淡色表示されていました(XCodeがディスク上でエントリを見つけられない場合)。


0

ポッドのインストール後にビルドしようとしていたプロジェクトを閉じ、.workspaceを開くと、すべてが完全にビルドされます。


0

プロジェクトの宛先でyour-project.xcworkspaceを開きます。

1)ターミナルを開く-> 2)$ cd / project_destination-> 3)$ open your-project.xcworkspace

または、ファインダーでファイルを開くだけです


0

プロジェクトターゲットとポッドの両方の「アクティブなアーキテクチャ設定のビルド」が同じであることを確認してください。これらの両方の場合にNOを設定すると、問題が修正されました。


0

私の問題は、存在しない特定のポッドをコピーする/ bin / shスクリプトがあることでした。これはそのうちの1つでした。スクリプトを削除すると、ビルドの問題が解決しました。


0

-ハードドライブでGoogleToolboxForMacファイルを検索します。次の場所にあります:/ Users / Marco / Documents / iosapps / BomRetiro / Bom Retiro / Pods / Target Support Files

  • そして、ファイルを次のフォルダーにコピーしました:/ Users / YourHomeFolder / Library / Developer / Xcode / DerivedData / Bom_Retiro-bsfjbazzzuwmuidqurdmjvdtnnsb / Build / Products

そして、私にとっては、プロジェクトusinf.xcworkspaceファイルを開くことで解決されました。


0

この後もまだ問題を抱えている人のために。私はコルドバプロジェクトに取り組んでいますが、XCode 11.5にアップグレードした後、突然問題が発生しました。

最後に、プロジェクトルートでpods.jsonファイルを開き、「FirebaseMessaging」に属する「libraries」のエントリを削除することで、これを解決することができました。私たちはそれを使用していませんでした、そして私はそれがどのようにそこに到達したのか分かりません。さらに、「ビルド設定」->「アクティブなアーキテクチャのみをビルドする」を「いいえ」に変更しました。

その後、.xcworkspaceファイルを再度開いて、ビルドを実行しました。



-6
    Friends, you must be confused with the exact result, as i was. So, i feel to share the 
screenshot that might be helpful. We all had to be careful that we need to change the flag for property **"Build Active architecture Only"** for **pod target** to **NO** And build, it would not show the linking error.

    See the attached screenshot.
    Screen Shot 1, Screen Shot 2, Screen Shot 3
    [Select Pods][1]
    [Select Targets in the pod][2]
    [Change flag to No][3]


  [1]: https://i.stack.imgur.com/E7mjX.png
  [2]: https://i.stack.imgur.com/wCwET.png
  [3]: https://i.stack.imgur.com/KVGKM.png

スクリーンショット全体を投稿しないでください。インライン部分のみを提供してください、私の友人。
igraczech 2017

スクリーンショットを投稿するよりも解決策を説明する方が良いでしょうが、これはうまくいきました。解決策は、プロジェクトとポッドのターゲットで有効なアーチのみを「いいえ」に変更することです。
Ignacio Barrea 2017年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.