このドキュメントが更新されました。
日本語への翻訳がまだ完了していません。
英語の最終更新: 2月26日
日本語の最終更新: 2020/07/02

Get Started: Facebook SDK for iOS (SPM)

The Facebook SDK for iOS is the easiest way to integrate your iOS app with Facebook. The Facebook SDK enables:

This topic will help you get started using the Facebook SDK for iOS using SPM to import the Facebook components. If you use CocoaPods, see Get Started (CocoaPods).

Before You Start

This procedure assumes you are using the latest version of iOS and Xcode. Learn more at the Apple Developer.

Note: To follow these instructions, create a project with UIKit App Delegate selected for Life Cycle. The following image shows an example:

You will need:

  1. A Facebook for Developers Account If you need one, click this button and follow the steps. Create a Facebook for Developers Account


  2. An App ID for Your App: Click the button that follows and follow the steps to register your app and get an App ID
    Get an App ID for your app
  3. Step 1: Set Up Your Development Environment

    1. In Xcode, click File > Swift Packages > Add Package Dependency.
    2. In the dialog that appears, enter the repository URL: https://github.com/facebook/facebook-ios-sdk.
    3. In Version, select Up to Next Major and the default option.
    4. Complete the prompts to select the libraries you want to use in your project.
    5. If You Want ToAdd This Package to your project

      Allow your app to use the Facebook services

      FacebookCore

      Allow users to log into your app to enable engagement and promote social features

      FacebookGamingServices

      Allow users to log into your app and for your app to ask for permissions to access data

      FacebookLogin

      Allow your app to share content on Facebook

      FacebookShare

    Step 2: Register and Configure Your App with Facebook

    To register and configure your app with Facebook, you add your Bundle ID and Enable Single Sign-On for your app.

    バンドルIDは、次のボックスに表示されます。ボックスが空白の場合は、Xcodeプロジェクトの[iOS Application Target]でバンドルIDを探し、下のボックスに貼り付けます。
    バンドルID
    バンドルIDは、後で設定ページのiOSセクションで変更できます。
    シングルサインオンを有効にする
    下の[シングルサインオン]を[はい]に設定し、アプリのシングルサインオンを有効にします。
    シングルサインオン iOSお知らせから起動します

    Step 2: Configure Your Project

    Info.plistファイルを、アプリに関するデータが含まれているXMLスニペットで構成します。
    1. Info.plistを右クリックし、[Open As] ▸ [Source Code]を選択します。
    2. 次のXMLスニペットをコピーして、ファイルの本文(<dict>...</dict>)に貼り付けます。
      <key>CFBundleURLTypes</key> <array> <dict> <key>CFBundleURLSchemes</key> <array> <string>fb[APP_ID]</string> </array> </dict> </array> <key>FacebookAppID</key> <string>[APP_ID]</string> <key>FacebookDisplayName</key> <string>[APP_NAME]</string>
    3. キー[CFBundleURLSchemes]<array><string>にある[APP_ID]は、ご自身のアプリIDに置き換えてください。
    4. キーFacebookAppID<string>にある[APP_ID]は、ご自身のアプリIDに置き換えてください。
    5. キーFacebookDisplayName<string>にある[APP_NAME]は、ご自身のアプリの名前に置き換えてください。
    6. Facebookアプリへのアプリ切り替えを実行できるいずれかのFacebookダイアログ(ログイン、シェア、アプリの招待など)を使用するには、アプリのInfo.plist<dict>...</dict>も含める必要があります。
      <key>LSApplicationQueriesSchemes</key> <array> <string>fbapi</string> <string>fbapi20130214</string> <string>fbapi20130410</string> <string>fbapi20130702</string> <string>fbapi20131010</string> <string>fbapi20131219</string> <string>fbapi20140410</string> <string>fbapi20140116</string> <string>fbapi20150313</string> <string>fbapi20150629</string> <string>fbapi20160328</string> <string>fbauth</string> <string>fb-messenger-share-api</string> <string>fbauth2</string> <string>fbshareextension</string> </array>

    Step 3: Connect the App Delegate

    SDKは、初期化時にさまざまなネットワーク呼び出しを実行して構成情報を取得します。この操作を延期したい場合は、サーバーの応答に基づいて条件付きでコードを実行するメソッドで初期化をラップします。それにはいくつかの方法があります。次のコードブロックは、考えられるソリューションがどのようなものかを示す擬似コードです。
    FlagFetcher.fetchFlags { result in if case let .success(flags) = result, flags.contains("use_facebook") { // Initialize the SDK ApplicationDelegate.shared.application( application, didFinishLaunchingWithOptions: launchOptions ) } }      
        
    AppDelegateメソッドのコードを次のコードに置き換えます。このコードは、アプリの起動時にSDKを初期化し、ログインアクションまたはシェアアクションが実行されたときにネイティブFacebookアプリの結果をSDKが処理できるようにします。

    Swift

        
    // Swift // // AppDelegate.swift import UIKit import FBSDKCoreKit @UIApplicationMain class AppDelegate:UIResponder, UIApplicationDelegate { func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? ) -> Bool { ApplicationDelegate.shared.application( application, didFinishLaunchingWithOptions: launchOptions ) return true } func application( _ app:UIApplication, open url:URL, options: [UIApplication.OpenURLOptionsKey :Any] = [:] ) -> Bool { ApplicationDelegate.shared.application( app, open: url, sourceApplication: options[UIApplication.OpenURLOptionsKey.sourceApplication] as? String, annotation: options[UIApplication.OpenURLOptionsKey.annotation] ) } }
        

    Objective-C

    // Objective-C // // AppDelegate.m @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [[FBSDKApplicationDelegate sharedInstance] application:application didFinishLaunchingWithOptions:launchOptions]; return YES; } - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url options:(nonnull NSDictionary<UIApplicationOpenURLOptionsKey, id> *)options { [[FBSDKApplicationDelegate sharedInstance] application:application openURL:url options:options]; return YES; }
        

    iOS 13では、URLを開く機能がSceneDelegateに移動されました。iOS 13を使用している場合は、次のメソッドをSceneDelegateに追加して、ログインまたはシェア機能などの操作が意図したとおりに機能するようにしてください。

    Swift

    // Swift // // SceneDelegate.swift import FBSDKCoreKit ... func scene(_ scene:UIScene, openURLContexts URLContexts:Set<UIOpenURLContext>) { guard let url = URLContexts.first?.url else { return } ApplicationDelegate.shared.application( UIApplication.shared, open: url, sourceApplication: nil, annotation: [UIApplication.OpenURLOptionsKey.annotation] ) }
    
        

    Objective-C

    // Objective-C // // SceneDelegate.m #import <FBSDKCoreKit/FBSDKCoreKit.h> @import FacebookCore; @interface SceneDelegate () @end @implementation SceneDelegate - (void)scene:(UIScene *)scene openURLContexts:(NSSet<UIOpenURLContext *> *)URLContexts { UIOpenURLContext *context = URLContexts.allObjects.firstObject; [FBSDKApplicationDelegate.sharedInstance application:UIApplication.sharedApplication openURL:context.URL sourceApplication:context.options.sourceApplication annotation:context.options.annotation]; }
        

    Step 4: Build and Then Run Your Project in the Simulator

    Xcodeで、iOSシミュレーターを選択し、[Run]をクリックします。Xcodeがプロジェクトを作成し、シミュレーターで実行しているアプリの最新バージョンを起動します。

    Step 5: See the Results in Events Manager

    Facebook Analyticsに送信したイベントは[イベントマネージャ] に表示されます。このコードで初めてアプリを起動した場合には、イベントが表示されるまで20分以上待つ必要があります。
    注: ダッシュボードにイベントが表示されるまで最大20分ほどかかる場合があります。

    Next Steps

    To learn how to implement App Events and other Facebook products to your app, click one of the buttons below.

    Sharing in iOSAdd Facebook LoginAdd App EventsUse Graph API
    Advanced Configuration