web-dev-qa-db-ja.com

FBSDKCoreKit / FBSDKCoreKit.hが見つかりませんエラー

私はFBログインを実装していますので、SDKを https://developers.facebook.com/docs/ios からダウンロードしました。次に、n個のFBSDKCoreKitFBSDKLoginKit、およびFBSDKShareKitフレームワークをプロジェクトにドラッグします。

私がプロジェクトを実行したとき、それはうまく働きます。しかし、閉じて再度開くと、"FBSDKCoreKit/FBSDKCoreKit.h not found error"が表示されます。その後、FBSDKCoreKitフレームワークをプロジェクトのライブラリに貼り付けてコピーすると、エラーが消え、このプロセスが続行されます。前にこの問題に直面した人はいますか?

このエラーを解決するにはどうすればよいですか?

71
M Swapnil

必ずこの手順に従ってください。

[コピー先グループのフォルダーにアイテムをコピー]の選択を解除します。 https://developers.facebook.com/docs/ios/getting-started/

また、ビルド設定で、このフィールドを見てください:「フレームワーク検索パス」このようなものがあるはずです:

/Users/[username]/Documents/FacebookSDK

または、より一般的な構成用

~/Documents/FacebookSDK

また、Finderを見て、フレームワークが実際にそこにあることを確認してください

93
etayluz

Cocoapods 1.0.0を更新した後、pod.lockを削除し、FBSDKCoreKitFBSDKLoginKitFBSDKShareKitの現在の安定ポッドバージョン(4.7.0から4.11.0)をインストールしました

その後、同じエラーが発生します。私がしたことは:

  1. Xcodeにヘッダー検索パスのビルド設定を追加:

    "${PODS_ROOT}/Headers/Public/Facebook-iOS-SDK\"
    "${PODS_ROOT}/Headers/Public/Facebook-iOS-SDK/FacebookSDK\"
    "${PODS_ROOT}/Headers/Public/FBSDKCoreKit\"
    "${PODS_ROOT}/Headers/Public/FBSDKCoreKit/FBSDKCoreKit\"
    

その後、私はまだ別のファイルのエラーがありました。 XCodeはビルド前フレームワークを使用しているためです。

FBSDKCoreKit/FBSDKCopying.hが見つかりません

  1. Clean Build->⇧⌘K(Shift + Command + K)-ビルドされたフレームワークをクリーンにします。
  2. ビルドフォルダーの消去->⌥⇧⌘K(Option + Shift + Command + K)
  3. Xcodeを閉じる//重要! -それ以外の場合は、現在開いているプロジェクトのDerivedDataを自動的に再作成します
  4. ターミナルでこのコマンドを実行します

    rm -rf ~/Library/Developer/Xcode/DerivedData
    
  5. XCodeを開き、正常にビルドします

59
Mihriban Minaz

フレームワークを削除し、プロジェクト->ファイルの追加...を右クリックして再度追加して、フレームワークを選択し、必要に応じてファイルをコピーするオプションを選択して、これを解決することができました。 Facebookが推奨するものではないことは知っていますが、それを機能させることはできませんでしたが、このように機能しました!私はFBSDK v4.6とXcode 7ベータ6を使用しています。それがあなたと同じ問題に直面している他のみんなに役立つことを願っています:)

34
maufadel

また、これには何時間も苦労しました!最後に、根本的な問題を発見しました。

Facebook SDK MUSTは〜/ Documents/FacebookSDKにあります

これは、RCTFBSDKプロジェクトではこのパスがハードコーディングされているためです。ただし、カスタムの場所をRCTFBSDKプロジェクトのフレームワーク検索パスに追加することで追加できます(エラーコンソールに表示されます)!

16
appsthatmatter

FB開発者 say コピーを選択しないファイル。問題が発生します。しかし私は反対しました

  1. 必要に応じてコピー項目を選択しました。私のプロジェクトのフレームワークをコピーしました。また、Search Pathによって自動的にxcode 7.2が追加されました。

  2. また、Framework Search Pathsフィールドの下のSearch Pathsunder Build Settingsに何もないかを再確認し、/ Users/user/Documents/.... PROJECT..DIR ...と等しい$(PROJECT_DIR)を追加するだけです。

2つのプロジェクトで正常にコンパイルされました。

7
karan

フレームワーク検索パスでFacebookSDKパスを$(PROJECT_DIR)より上に移動する必要がありました

$(SRCROOT)/../../../Documents/FacebookSDK
$(inherited)
$(PROJECT_DIR)
6
user9728668

上記の回答のいずれかが機能しない場合は、これを試してください:

~/Documents/FacebookSDKフォルダーを開きます。ファイル名の右側にこのクラウドアイコンがあるかどうかを確認します。

screenshot.png

その場合、macOSはコンピューターからファイルを削除し、iCloudにアップロードしました! (アップルに感謝)

あなたはできる:

  1. すべてのクラウドアイコンをクリックすると、ファイルがダウンロードされます
  2. Macでストレージ最適化を無効にして、再び発生しないようにします
3
Bruno Lemos

FacebookSDKが次のものと異なる場合の問題の解決策

〜/ Documents/FacebookSDK

ICloud DriveにFacebookSDKをロードさせたくないので、追加した「フレームワーク検索パス」を変更する必要があります

反応ネイティブfbsdk

これは、Libreaires内のRCTFBSDK.xcodeprojにあるためです。パスはハードコードされています。ただし、RCTFBSDKプロジェクトのフレームワーク検索パスに追加することにより、カスタムの場所を追加できます。

  1. プロジェクトを選択
  2. 図書館
  3. 「RCTFBSDK.xcodeproj」を選択します
  4. ビルド設定
  5. 「フレームワーク検索パス」にカスタムパスを追加します。例:/ Users/rajanmaharjan/FacebookSDK
  6. Clean Build->⇧⌘K(Shift + Command + K)-ビルドフレームワークをクリーンにします。
  7. プロジェクトをビルドします。正常にビルドされるはずです。
3
Rajan Maharjan

同じ問題がありました。フレームワーク検索パスの値を引用符で囲むことで修正しました。つまり、「/ Users/.....」です。明らかに、ファイルパスにいくつかのスペースがあります。

2

Facebook SDKバージョン4.10.0を使用しています。
解決策が良くないことはわかっていましたが、うまくいきました。 Facebookのソースコードを変更しました。インポートファイルのパスを#import <FBSDKCoreKit/FBSDKCoreKit+Internal.h>から#import <FBSDKCoreKit/Internal/FBSDKCoreKit+Internal.h>に変更しました

2
tbago

Reactネイティブ開発者の場合:

推奨される手順:

1. Facebook SDKフレームワークが〜/ Documents/FacebookSDKにインストールされていることを確認します。

2)FBSDK [Core、Login、Share] Kit.frameworkがビルドターゲットのビルドフェーズの[ライブラリとリンクバイナリ]セクションに表示されることを確認します。

3)ビルドターゲットのビルド設定のFramework Search Path

$(HOME)/Documents/FacebookSDK

代わりに

~/Documents/FacebookSDK 

それでもうまくいかない場合:

1)Sudo chmod -R 755 ~/Documents/FacebookSDK

2)RCTFBSDK.xcodeprojのフレームワーク検索パスのパスを設定します

  $(HOME)/Documents/FacebookSDK 

(プロジェクトフォルダのライブラリの下) RCTFBSDKフレームワークの検索パスをここに設定

プロジェクトをきれいにし(command + shift + k)、ビルドします。

2
ishab acharya

CocoaPodsを使用して、私のために働いた唯一のものは:

  1. 更新ヘッダー検索パスNOTフレームワーク検索パス)XcodeのBuild Settingsの下:

    - "\"${PODS_ROOT}/Headers/Public/Facebook-iOS-SDK\"",

    - "\"${PODS_ROOT}/Headers/Public/Facebook-iOS-SDK/FacebookSDK\"",

    + "\"${PODS_ROOT}/Headers/Public/FBSDKCoreKit\"",

    + "\"${PODS_ROOT}/Headers/Public/FBSDKCoreKit/FBSDKCoreKit\"",

  2. 欠落しているヘッダーを追加しますか?

    cd Pods/Headers/Public/FBSDKCoreKit/FBSDKCoreKit/ && ln -s ../../../../FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKCoreKit+Internal.h FBSDKCoreKit+Internal.h

編集:ポイント2.後に続くpod installの呼び出しのたびに繰り返す必要があるようです。

1
Fran Pugl

CarthageからCocoapodsに移行する場合は、ビルドフェーズオプションの下のLink Binary With LibrariesからFBSDKCoreKitのCarthage参照を必ず削除してください。

enter image description here

1
footyapps27

Xcode 7.3の場合、以下がうまくいきました。 FBのガイドに記載されている手順に従い、さらに以下を実行します。

ステップ1. Document/FacebookSDKフォルダーに移動します

ステップ2. FBSDKCoreKit.frameworkをクリックします

ステップ3.このフォルダーでModulesフォルダーを削除し、Xcodeプロジェクトにドラッグアンドドロップします。

参照: https://stackoverflow.com/a/29532202

ありがとう

1
iCodeAtApple

ここでいくつかの回答を使用してトラブルシューティングを行った後。これは私がやったことです。

  1. ~/Documents/FacebookSDK"$(HOME)/Documents/FacebookSDK"に変更しました:引用符"を使用しました
  2. "$(HOME)/Documents/FacebookSDK"をヘッダー検索パスのリストの一番上に移動しました。
0
Karl Taylor

フレームワークをxcode内のFrameworkフォルダーにドラッグし、必要に応じてファイルをコピーすることを選択し、他の構成を変更しなくてもすべて正常に機能しました。

0
DcCoO

同様の問題が発生したため、コンパイラエラーを解決できませんでした。

私は、プロジェクトフォルダー内にFBSDKCoreKit.frameworkのコピーがあることに気付くまで、正確な統合手順を数回実行しました。間違い)。さらに、Framework Search Pathsには、/-Users/{username}/Documents/FacebookSDK以外に$(PROJECT_DIR)が既に含まれています。

削除済みFBSDKCoreKit.frameworkのプロジェクトのディレクトリからのコピーで、すべて正常に動作するようになりました。

0
choofie

同様の問題がありました。 XCodeフレームワークにさまざまなフレームワークを手動で追加するときに、「必要に応じてファイルをコピー」を選択することで、修正が行われました。

0
tiofabby

私は昨夜この問題に遭遇し、他の誰かが同じ問題を抱えている場合に備えて私の解決策を投稿したかった。私の問題は、アプリがsimおよびデバイス上で正常にビルドおよび実行されていたことでしたが、ユニットテストを実行しようとすると、FBSDKCoreKitが原因でビルドが失敗しました。問題を見つけるのに約30分かかりましたが、そうするとダミーのように感じました。

FBSDKCoreKitバンドルが、通常のアプリケーションビルドだけでなく、テストの対象にもなっていることを確認してください。

0
Jacob Boyd

Xcode 8にアップグレードするときにこの問題が発生しましたが、変更することで解決できました

#import <FBSDKCoreKit / FBSDKCoreKit.h>

#import <FBSDKCoreKit/FBSDKCoreKit.h>

0
TheJediCowboy

個人的には、アプリ名を含むさまざまなパスのスペースに問題がありました。スペースを削除する(またはパスを保護するためにすべての場所に ""を追加する)ことで問題を解決しました。

0
Benjamin Piette

ビルド設定->「フレームワーク検索パス」にディレクトリを追加するときは、必ずデバッグとリリースの両方に追加してください。

愚かなエラーですが、XcodeでiOS開発を初めて使用する場合は、これを見逃す可能性があります。

0
FrederickCook

React-native-fbsdkをインストールし、react-native-link react-native-fbsdkを使用してリンクしました。

次のリンクの指示に従ってください

https://developers.facebook.com/docs/react-native/configure-ios

これにより、ios_setup.jsを使用して反応ネイティブライブラリをリンクできます。次の手順を実行しました。

  1. facebook developer acco ntのセットアップ。

  2. プロジェクトのルートフォルダーでコマンドプロンプトで次のコマンドを実行して、ios_setup.jsファイルをインストールします。

curl -O https://raw.githubusercontent.com/facebook/react-native-fbsdk/master/bin/ios_setup.js

  1. 次のコマンドを実行して、plistパッケージ、xcodeパッケージ、およびadm-Zipパッケージをインストールします。 npm install plist xcode adm-Zip
  2. 次のコマンドを実行してスクリプトios_setup.jsを実行し、アプリのアプリIDとアプリ名を挿入します。アプリの名前が複数のWordの長さである場合は、引用符で囲みます。

node ios_setup.js [App ID] [App Name]

ノードios_setup.jsを実行すると、ios内のすべてのファイルが自動的にリンクされます。

0