web-dev-qa-db-ja.com

XcodeにFacebookSDK.hファイルを検索させる方法は?

「FacebookSDK/FacebookSDK.hファイルが見つかりません」と表示されます

それでも、#importで定義にジャンプすると、ファイルに移動します。

そして、#importを追加すると、FBFriendPickerDelegateが何であるかがわかり、その行にエラーが表示されなくなりました。

私のプロジェクトと適切なフォルダーにfacebookSDK.frameworkがあります。 SDK 3.1です。/FacebookSDKと/FacebookSDK.frameworkおよび/ FacebookSDK/Versions/A/Headersなどに検索パスを追加しようとしました。見つけられません。また、クリーンと再起動を試みました。 Xcodeの最新バージョンを持っています。

//
//  FacebookView.h
//

#import <UIKit/UIKit.h>
#import <FacebookSDK/FacebookSDK.h>

@interface FacebookView : UIViewController <FBFriendPickerDelegate>
{
}
48
Curtis

まず、プロジェクトからFacebookSDK.frameworkを削除する必要があります。その後、これらの5つのステップからやり直します。フレームワークを再リンクしないでください。

  1. プロジェクトターゲットのビルドフェーズに移動します。
  2. [ライブラリとバイナリをリンク]で、[+]ボタンをクリックします。
  3. 「その他を追加...」ボタンをクリックします
  4. FacebookSDKフォルダーを参照します。一般的に〜/ Documents/FacebookSDK /
  5. 「facebookSDK.framework」を選択(選択)してからOPENします。

それでおしまい。

95

何も削除する必要はありません。

プロジェクトで、「Build Settings」、次に「Search Paths」に移動します。 「Frameworks Search Paths」を探します。おそらく次のように修正されているでしょう:

フレームワークの検索パス:/ Users/john/Documents/exampleappxyz

次のように変更します。

フレームワーク検索パス:$(PROJECT_DIR)

出来上がり!.

24
Hugo

これを試しましたが、うまくいきませんでした。プロジェクトのビルド設定に入り、FacebookSDKを手動で修正する必要がありましたFramework Search PathsはFacebookSDKを見つけます。

9
Maurizio

わかりました、答えが得られたと思います。以下の手順に従ってください。

  1. フレームワークをプロジェクトにコピーします。
  2. あるディレクトリの下にあることを確認してください。例えば$(PROJECT_DIR)/project_name/Resources/Frameworks
  3. ターゲットをクリックします。
  4. Goto Build Phases→ライブラリとバイナリをリンク
  5. [その他を追加]をクリックしてカスタムフレームワークを追加します
  6. プロジェクトナビゲータで、フレームワークが1回だけ存在することを確認します。
  7. 次に、[ビルド設定]→[検索パス]→[フレームワーク検索パス]に移動し、次の2つのことを確認します。

    (a)$(inherited)(b)$(PROJECT_DIR)/project_name/Resources/Frameworks.

    フレームワークがFrameworksフォルダー内に存在することを思い出さないでください

  8. ライブラリ検索パスに何もないことを確認してください。
  9. 次に、プロジェクト(ターゲットの上)をクリックして、設定をビルドし、手順7と8を繰り返します。
  10. ここでプロジェクトをクリーンアップし、プロジェクトをビルドします。

それがうまくいくことを願っています。フォルダー名にスペースを入れないでください。それらを保持している場合は、正しいエスケープ文字を指定してください。

5
Abhishek Kumar

FacebookのSDKリンクを削除する方法:

自分が好きな人のために、facebook sdkを不適切に追加しました。プロジェクトからfacebook SDKを削除するには、

フレームワークフォルダー内のリンクを確認し、そこにあるFacebook SDKリンクを削除します

[ビルドフェーズ]-> [バイナリをライブラリとリンク]に移動し、そこにあるFacebook SDKを削除します

フレームワークフォルダーを右クリックして[Finderで表示]を選択し、そこにあるFacebookのSDKを削除します

「Fede Cugliandolo」の手順に従って、facebook sdkを再追加します

1
Arjay Waran

今日、この問題が発生しました。

3つの場所すべてにフレームワーク検索パスが必要であることがわかりました。

1) Project Build Settings
2) App Target Build Settings
3) UnitTests Target Build Settings

私の検索パスは次のとおりです。

/Users/myusername/Documents/FacebookSDK

それを確認した後、私のためにエラーが消えました。

1
Zhang

私が見つけた唯一の解決策は:

  1. Phonegapプラグインを削除します:ionic plugin rm phonegap-facebook-plugin

  2. 次のプラグインgit cloneをクローンします: https://github.com/jeduan/cordova-plugin-facebook4.git

  3. プラグインを手動で追加します。cordova -d plugin add PATH/cordova-plugin-facebook4 --variable APP_ID = "*****" --variable APP_NAME = "*****"

これの前に、FacebookSDK.frameworkの再追加を試み、ローカルに複製された電話ギャッププラグインのFacebookをインストールしましたが、エラーは続きます。

0
Kimy BF

次の手順に従ってください。

  1. プロジェクトでXcodeの[ビルド設定]タブを開きます。
  2. 〜/ Documents/FacebookSDKをプロジェクトのフレームワーク検索パス設定に追加します。
0
Md Rais

指示に従います ステップ4でXcodeプロジェクトを設定します 何かが足りないと思います。プロジェクトからFacebook.sdkを削除して、もう一度やり直してください。

0
arttioz

ビルド設定でプロパティ「フレームワーク検索パス」を変更し、ファイルFacebookSDK.frameworkの場所を指定する必要があります(SRCROOT変数を使用してプロジェクトディレクトリのルートを指すことができるため、絶対使用を避けることができます)パス;))例:

$(SRCROOT)/SampleProject/src/Utils/Facebook/

これは通常、サードパートフレームワークをインポートするときにXcodeによって自動的に行われますが、時々混乱します(例:プロジェクトディレクトリツリーを変更するとき...)

お役に立てば幸いです...

0
poloDelaVega

上記のすべての答えが私にとってはうまくいきませんでした。

最終的に私にとってトリックは、プラグインフォルダーの構造を変更することでした。

  1. フォルダーを作る: com.phonegap.plugins.facebookconnect/FacebookSDK

  2. すべてのコンテンツをコピー:com.phonegap.plugins.facebookconnect/FacebookSDK.framework/Headersからcom.phonegap.plugins.facebookconnect/FacebookSDK

  3. コピーcom.phonegap.plugins.facebookconnect/Facebook.frameworkからcom.phonegap.plugins.facebookconnect/FacebookSDK

そして最後に、変更

#import <FacebookSDK/FacebookSDK.h>

#import "FacebookSDK/FacebookSDK.h"
0
Tyrone

XCodeを更新したときに同じ問題が発生しましたが、私の場合は、CMakeを使用して作成するため、プロジェクト設定を手動で変更したくありませんでした。ここで修正した方法を見つけることができます: https://stackoverflow.com/a/25564152/52587

0
Chico

Xcode 5を使用していますが、SDKを追加すると、「project.pbxproj」に自己アドレスが書き込まれません。

代わりにSDKのローカルアドレスはグローバルアドレスを保存します。

「project.pbxproj」を開いてその場所を見つけ、プロジェクト内のSDKのアドレスのみを残します。

<project name>/src/external/facebook
<project name>/src/external/testflight

エントリを編集するには、次のようにしました

/Users/<user Name>/myProjects/.../ios/<project name>/src/external/facebook
0

これは、facebookSDKを2回インポートし、いくつかのファイルを削除した後に発生します。

たとえば、facebookSDKを$ project/frameworkにインポートしましたが、いくつかの理由で削除しました。次に、〜/ Documents/FacebookSDK経由でインポートしましたが、Xcodeは古いフォルダーを保持し、デフォルトで検索します。

問題を解決するには、古いインポートのすべての参照とファイルを削除する必要があります。

0
Myrddin

プロジェクトディレクトリを確認し、フレームワークファイルへの古い参照を削除しました。次に、ビルドフェーズ/検索パスから削除します。リンクされたフレームワークも削除します。 Xcodeを再起動し、もう一度プロセスを実行します。FrameworkをFrameworksにドラッグし、コピーしないでください。ビルドフェーズ/検索パスを確認してください。 「#import」を含めます。最後に働いた。ふう.

0
Anna Billstrom

検索パスを追加するほかに、パスを再帰的に設定し、これを機能させるために「除外するサブディレクトリ」オプションから「* .framework」を削除する必要がありました。

0
neo

簡単です。FacebookSDK.frameworkをプロジェクトから削除する必要があります。

プロジェクトターゲットのビルドフェーズに移動します。 [ライブラリとバイナリをリンク]で、[+]ボタンをクリックします。 「その他を追加...」ボタンをクリックして、FacebookSDKフォルダーを参照します。通常、〜/ mohit/Documents/FacebookSDK/Clikで(facebookSDK.framework)を選択(選択)してからOPENします。

次に、このターゲット設定>フレームワーク検索パスをプロジェクト設定>フレームワーク検索パスにコピーします。

0
Mohit tomar