私はFBログインを実装していますので、SDKを https://developers.facebook.com/docs/ios からダウンロードしました。次に、n個のFBSDKCoreKit
、FBSDKLoginKit
、およびFBSDKShareKit
フレームワークをプロジェクトにドラッグします。
私がプロジェクトを実行したとき、それはうまく働きます。しかし、閉じて再度開くと、"FBSDKCoreKit/FBSDKCoreKit.h not found error"
が表示されます。その後、FBSDKCoreKit
フレームワークをプロジェクトのライブラリに貼り付けてコピーすると、エラーが消え、このプロセスが続行されます。前にこの問題に直面した人はいますか?
このエラーを解決するにはどうすればよいですか?
必ずこの手順に従ってください。
[コピー先グループのフォルダーにアイテムをコピー]の選択を解除します。 https://developers.facebook.com/docs/ios/getting-started/
また、ビルド設定で、このフィールドを見てください:「フレームワーク検索パス」このようなものがあるはずです:
/Users/[username]/Documents/FacebookSDK
または、より一般的な構成用
~/Documents/FacebookSDK
また、Finderを見て、フレームワークが実際にそこにあることを確認してください
Cocoapods 1.0.0
を更新した後、pod.lock
を削除し、FBSDKCoreKit
、FBSDKLoginKit
、FBSDKShareKit
の現在の安定ポッドバージョン(4.7.0
から4.11.0
)をインストールしました
その後、同じエラーが発生します。私がしたことは:
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が見つかりません
ターミナルでこのコマンドを実行します
rm -rf ~/Library/Developer/Xcode/DerivedData
XCodeを開き、正常にビルドします
フレームワークを削除し、プロジェクト->ファイルの追加...を右クリックして再度追加して、フレームワークを選択し、必要に応じてファイルをコピーするオプションを選択して、これを解決することができました。 Facebookが推奨するものではないことは知っていますが、それを機能させることはできませんでしたが、このように機能しました!私はFBSDK v4.6とXcode 7ベータ6を使用しています。それがあなたと同じ問題に直面している他のみんなに役立つことを願っています:)
また、これには何時間も苦労しました!最後に、根本的な問題を発見しました。
Facebook SDK MUSTは〜/ Documents/FacebookSDKにあります
これは、RCTFBSDKプロジェクトではこのパスがハードコーディングされているためです。ただし、カスタムの場所をRCTFBSDKプロジェクトのフレームワーク検索パスに追加することで追加できます(エラーコンソールに表示されます)!
FB開発者 say コピーを選択しないファイル。問題が発生します。しかし私は反対しました。
必要に応じてコピー項目を選択しました。私のプロジェクトのフレームワークをコピーしました。また、Search Path
によって自動的にxcode 7.2
が追加されました。
また、Framework Search Paths
フィールドの下のSearch Paths
under Build Settings
に何もないかを再確認し、/ Users/user/Documents/.... PROJECT..DIR ...と等しい$(PROJECT_DIR)を追加するだけです。
2つのプロジェクトで正常にコンパイルされました。
フレームワーク検索パスでFacebookSDKパスを$(PROJECT_DIR)より上に移動する必要がありました
$(SRCROOT)/../../../Documents/FacebookSDK
$(inherited)
$(PROJECT_DIR)
FacebookSDKが次のものと異なる場合の問題の解決策
〜/ Documents/FacebookSDK
ICloud DriveにFacebookSDKをロードさせたくないので、追加した「フレームワーク検索パス」を変更する必要があります
反応ネイティブfbsdk
これは、Libreaires内のRCTFBSDK.xcodeprojにあるためです。パスはハードコードされています。ただし、RCTFBSDKプロジェクトのフレームワーク検索パスに追加することにより、カスタムの場所を追加できます。
同じ問題がありました。フレームワーク検索パスの値を引用符で囲むことで修正しました。つまり、「/ Users/.....」です。明らかに、ファイルパスにいくつかのスペースがあります。
Facebook SDKバージョン4.10.0を使用しています。
解決策が良くないことはわかっていましたが、うまくいきました。 Facebookのソースコードを変更しました。インポートファイルのパスを#import <FBSDKCoreKit/FBSDKCoreKit+Internal.h>
から#import <FBSDKCoreKit/Internal/FBSDKCoreKit+Internal.h>
に変更しました
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)、ビルドします。
CocoaPodsを使用して、私のために働いた唯一のものは:
更新ヘッダー検索パス(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\"",
欠落しているヘッダーを追加しますか?
cd Pods/Headers/Public/FBSDKCoreKit/FBSDKCoreKit/ && ln -s ../../../../FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKCoreKit+Internal.h FBSDKCoreKit+Internal.h
編集:ポイント2.後に続くpod install
の呼び出しのたびに繰り返す必要があるようです。
Xcode 7.3の場合、以下がうまくいきました。 FBのガイドに記載されている手順に従い、さらに以下を実行します。
ステップ1. Document/FacebookSDKフォルダーに移動します
ステップ2. FBSDKCoreKit.frameworkをクリックします
ステップ3.このフォルダーでModulesフォルダーを削除し、Xcodeプロジェクトにドラッグアンドドロップします。
参照: https://stackoverflow.com/a/29532202
ありがとう
ここでいくつかの回答を使用してトラブルシューティングを行った後。これは私がやったことです。
~/Documents/FacebookSDK
を"$(HOME)/Documents/FacebookSDK"
に変更しました注:引用符"
を使用しました"$(HOME)/Documents/FacebookSDK"
をヘッダー検索パスのリストの一番上に移動しました。フレームワークをxcode内のFrameworkフォルダーにドラッグし、必要に応じてファイルをコピーすることを選択し、他の構成を変更しなくてもすべて正常に機能しました。
同様の問題が発生したため、コンパイラエラーを解決できませんでした。
私は、プロジェクトフォルダー内にFBSDKCoreKit.frameworkのコピーがあることに気付くまで、正確な統合手順を数回実行しました。間違い)。さらに、Framework Search Pathsには、/-Users/{username}/Documents/FacebookSDK以外に$(PROJECT_DIR)が既に含まれています。
削除済みFBSDKCoreKit.frameworkのプロジェクトのディレクトリからのコピーで、すべて正常に動作するようになりました。
同様の問題がありました。 XCodeフレームワークにさまざまなフレームワークを手動で追加するときに、「必要に応じてファイルをコピー」を選択することで、修正が行われました。
私は昨夜この問題に遭遇し、他の誰かが同じ問題を抱えている場合に備えて私の解決策を投稿したかった。私の問題は、アプリがsimおよびデバイス上で正常にビルドおよび実行されていたことでしたが、ユニットテストを実行しようとすると、FBSDKCoreKitが原因でビルドが失敗しました。問題を見つけるのに約30分かかりましたが、そうするとダミーのように感じました。
FBSDKCoreKitバンドルが、通常のアプリケーションビルドだけでなく、テストの対象にもなっていることを確認してください。
Xcode 8にアップグレードするときにこの問題が発生しましたが、変更することで解決できました
#import <FBSDKCoreKit / FBSDKCoreKit.h>
に
#import <FBSDKCoreKit/FBSDKCoreKit.h>
個人的には、アプリ名を含むさまざまなパスのスペースに問題がありました。スペースを削除する(またはパスを保護するためにすべての場所に ""を追加する)ことで問題を解決しました。
ビルド設定->「フレームワーク検索パス」にディレクトリを追加するときは、必ずデバッグとリリースの両方に追加してください。
愚かなエラーですが、XcodeでiOS開発を初めて使用する場合は、これを見逃す可能性があります。
React-native-fbsdkをインストールし、react-native-link react-native-fbsdkを使用してリンクしました。
次のリンクの指示に従ってください
https://developers.facebook.com/docs/react-native/configure-ios
これにより、ios_setup.jsを使用して反応ネイティブライブラリをリンクできます。次の手順を実行しました。
facebook developer acco ntのセットアップ。
プロジェクトのルートフォルダーでコマンドプロンプトで次のコマンドを実行して、ios_setup.jsファイルをインストールします。
curl -O https://raw.githubusercontent.com/facebook/react-native-fbsdk/master/bin/ios_setup.js
npm install plist xcode adm-Zip
node ios_setup.js [App ID] [App Name]
ノードios_setup.jsを実行すると、ios内のすべてのファイルが自動的にリンクされます。