Getting Started with the Facebook SDK for iOS

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

You have two ways to set up your app to use the Facebook SDK. If you haven't registered your application with Facebook, the simplest and quickest option is to use the Quick Start tool. The alternative is to skip the Quick Start and use the manual instructions below.

Quick Start for iOS

Step 1: Configure Facebook App Settings for iOS

  1. Open the Facebook App Dashboard by clicking on the button below and selecting your application.
  2. Open Facebook App Dashboard

  3. Select Settings from the left navigation.
  4. Click Add Platform at the bottom of the page and select iOS.
  5. Locate your bundle identifier in Xcode and copy it to your clipboard.
  6. Return to the App Dashboard and paste your bundle identifier into the Bundle ID field.
  7. Enable Single Sign On.
  8. Click Save Changes at the bottom of the App Dashboard window.

To always link to the most recent version, link to the Facebook iOS SDK with CocoaPods.

  1. Navigate to your project folder in a terminal window.
  2. Make sure you have the CocoaPods gem installed on your machine before installing the Facebook Login pod.
    $ sudo gem install cocoapods
    $ pod init
    This will create a file named Podfile in your project's root directory.

  3. Add the following to your Podfile:
    pod 'FBSDKLoginKit'
  4. Run the following command in your project root directory from a terminal window:
    $ pod install

Step 3: Configure Info.plist

  1. In Xcode, right-click your project's Info.plist file and select Open As -> Source Code.
  2. Insert the following XML snippet into the body of your file just before the final </dict> element.

  3. <key>CFBundleURLTypes</key>
    <array>
      <dict>
        <key>CFBundleURLSchemes</key>
        <array>
          <string>fb{your-app-id}</string>
        </array>
      </dict>
    </array>
    <key>FacebookAppID</key>
    <string>{your-app-id}</string>
    <key>FacebookDisplayName</key>
    <string>{your-app-name}</string>
    <key>LSApplicationQueriesSchemes</key>
    <array>
      <string>fbapi</string>
      <string>fb-messenger-share-api</string>
      <string>fbauth2</string>
      <string>fbshareextension</string>
    </array>
  4. Replace {your-app-id}, and {your-app-name} with your app's App's ID and name found on the Facebook App Dashboard.

Step 4: Connect App Delegate

To post-process the results from actions that require you to switch to the native Facebook app or Safari, such as Facebook Login or Facebook Dialogs, you need to connect your AppDelegate class to the FBSDKApplicationDelegate object. To accomplish this, add the following code to your AppDelegate.m file.

//  AppDelegate.m
#import <FBSDKCoreKit/FBSDKCoreKit.h>

- (BOOL)application:(UIApplication *)application 
    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  
  [[FBSDKApplicationDelegate sharedInstance] application:application
    didFinishLaunchingWithOptions:launchOptions];
  // Add any custom logic here.
  return YES;
}

- (BOOL)application:(UIApplication *)application 
            openURL:(NSURL *)url 
            options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {

  BOOL handled = [[FBSDKApplicationDelegate sharedInstance] application:application
    openURL:url
    sourceApplication:options[UIApplicationOpenURLOptionsSourceApplicationKey]
    annotation:options[UIApplicationOpenURLOptionsAnnotationKey]
  ];
  // Add any custom logic here.
  return handled;
}

Note: In the sample implementation of -application:openURL:sourceApplication:annotation: above, the call to FBSDKApplicationDelegate is required for deferred deep linking to work correctly.

Step 5: Add App Events

Now that the SDK is installed and configured, the easiest way to test it is to add App Events to your app. App Events help you understand how people are using your app. This is done by logging events via one of 14 predefined events such as added to cart in a commerce app or level achieved in a game. You can even define your own custom events.

Log App Activations

To see how many people are using your application, log app activations by adding the following code to your AppDelegate.m file.

//  AppDelegate.m
#import <FBSDKCoreKit/FBSDKCoreKit.h>
- (void)applicationDidBecomeActive:(UIApplication *)application {
  [FBSDKAppEvents activateApp];
}

To verify logging:

  1. Compile and run your app.
  2. Go to the Facebook Analytics Dashboard and select your app.
  3. Open Facebook Analytics

  4. From the menu on the left, select Activity -> Events.

There will be a short delay before your activations show on the event dashboard. If you don't see anything, wait a minute and refresh the page.

When you use the Facebook SDK, some events in your app are automatically logged and collected for Facebook Analytics unless you disable automatic event logging. For details about what information is collected and how to disable automatic event logging, see Automatic App Event Logging.

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