FBSDKCoreKit
とFBSDKLogin
を使用してFacebookログイン機能を追加しようとしています。これらの2つのフレームワークをAppDelegate
ファイルにインポートしようとすると、エラーが表示されます。
「そのようなモジュールはありません 'FBSDKCoreKit'」。
私が変更され Allow Non-modular Includes In Framework Modules
NO
からYES
までですが、エラーはまだあります。
エラーを解決するための解決策を考え出すのに助けが必要です。
「フレームワーク検索パス」にFacebookSDK
ディレクトリパスを追加することでこの問題を解決しました
ビルド設定に移動し、「フレームワーク検索」を検索します
解決しましたNo such module 'FrameworkName'
次の手順に関する問題:
1)グループを作成し、それをFramework
と呼びます(オプション、ベストプラクティス)
2)目的のSDKを元のSDKパスからFramework
にドラッグします。この場合は、FBSDKCoreKit
とFBSDKLoginKit
です。
3)ダイアログが表示されたら、「これらのファイルを追加するためのオプションを選択してください:」、次を選択します。
Facebook SDKバージョン4.0の追加手順:
4)プロジェクトエディターでターゲットを選択し、[ビルド設定]をクリックして、フレームワーク検索パスを次のように変更します。〜/Documents/FacebookSDKDirectoryName
最も簡単な方法の1つを提案したいと思います。
ダダ!チャームのように機能します!
ポッドを使用している場合は、すべてのポッドファイルと関連フォルダーを削除して、最初のステップから開始します。
init pod
。
次に、そのポッドファイルを開き、次のフレームワークを追加します
pod 'FBSDKCoreKit'
pod 'FBSDKShareKit'
pod 'FBSDKLoginKit'
次にpod install
それをSwiftファイルにインポートしてお楽しみください:)
プロジェクトにフォルダを直接追加する場合は、「必要に応じてコピー」がマークされていることを確認してください
import FBSDKLoginKit
と入力して、この問題を解決しました。コピーしないでください!!書くだけ。それが役に立てば幸い
フレームワークをアプリケーションのフォルダーにコピーすることで、この問題を解決しました。アプリケーションはフレームワークのパスを認識していません。
Bridging-Header.hファイルにも追加する必要があるようです。
#import <FBSDKCoreKit/FBSDKCoreKit.h>
#import <FBSDKLoginKit/FBSDKLoginKit.h>
#import <FBSDKShareKit/FBSDKShareKit.h>
Bridging-Header.hの使用は、Objective-Cバージョンのフレームワークファイルを使用する場合にのみ必要です。ただし、FacebookサイトのSwiftチュートリアルでは、Swiftで構築されたフレームワークファイルを使用するための重要な手順、特にFBSDKCoreKitをインポートした後のAppDelegateの調整が省略されています。
.xcodeprojではなく.xcworkspceを使用してプロジェクトを開いてみてください。ワークスペースがすべての依存関係をロードするためです。
AppDelegateインポートの場合:
import FacebookCore
import FacebookLogin
そして追加:
func application(_ application: UIApplication, didFinishLaunchingWithOptions
launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
SDKApplicationDelegate.shared.application(application,
didFinishLaunchingWithOptions: launchOptions)
return true
}
func application(_ app: UIApplication, open url: URL, options:
[UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
return SDKApplicationDelegate.shared.application(app, open: url,
options: options)
}
私にとってそれを修正したのは、podsフォルダーを削除し、installコマンドを再度実行することでした。
rm -Rf Pods
pod install
これで修正されました。ポッドインストールを実行した後は、必ずプロジェクトをクリーンアップしてビルドしてください。
メニューから:製品/クリーン&ビルド。
それはいつもの容疑者です。フレームワークフォルダを確認してください。プロジェクト->ビルドフェーズ->バイナリとライブラリのリンクをチェックし、FBSDKCoreKit
とFBSDKLoginKit
が含まれていることを確認します。
それらが存在し、それでもエラーが存在する場合は、各フレームワークをタップして、Target Membership
はファイルインスペクターでチェックされます。