Swift-taylored experience to integrate your app with Facebook. Including:

  • Facebook Login – Authenticate people with their Facebook credentials.
  • Share and Send Dialogs – Enable sharing content from your app to Facebook.
  • App Events – Understand your audience and the performance of your app.
  • Graph API – Read and write directly to Facebook social graph.

Getting Started

Modules

The frameworks for the Facebook SDK in Swift are organized in the same way that the Facebook SDK for iOS is.

They also currently depend upon the Facebook SDK for iOS, although this may change at some point in the future.

FacebookCore

Depends on FBSDKCoreKit.framework and Bolts.framework.

The following types are included, with enhancements for Swift:

  • AccessToken
  • ApplicationDelegate
  • AppEvents

    A myriad of improvements, including type-safe built-in AppEvents, an AppEvent struct, and more.

  • GraphRequest

    You can now implement your own type-safe GraphRequests, including native-typed results.

  • SDKSettings

    Logging behaviors are now implemented as a type-safe set, based on Swift enums.

  • Permission

    Are no longer stringly-typed (string-based), but separate types for read and write permissions (also includes a built-in permission list, which includes most common permissions by default).

FacebookLogin

Depends on FacebookCore.framework and FBSDKLoginKit.framework.

The following types are included, with enhancements for Swift:

  • LoginManager

    Now uses the type-safe permissions from FacebookCore, and has constructors with LoginBehavior and DefaultAudience, instead of requiring manual setting of properties.

  • LoginButton

    Can no longer change permissions after creation, helping to enforce using a single login button for a given set of permissions. Note that LoginButton is not intended to work with interface builder or storyboards at this time. We may re-address this in the future.

FacebookShare

Depends on FacebookCore.framework and FBSDKShareKit.framework.

The following types are included, with enhancements for Swift:

  • LinkShareContent

    Now a struct, and has a proper initializer enforcing required properties.

  • OpenGraphShareContent

    Now a struct, uses type-safe OpenGraphPropertyName and OpenGraphPropertyValue, as well as structs for OpenGraphObject and OpenGraphAction.

  • PhotoShareContent

    Now a struct, and better type-safety for properties on it.

  • VideoShareContent

    Now a struct, and better type-safety for properties on it.

  • GraphSharer

    Now a generic type, that can handle any type of content.

  • ShareDialog

    Now a generic type, that can handle any type of content.

  • MessageDialog

    Now a generic type, that can handle any type of content.

  • GameRequest

    Now a struct, contains proper type-safe enum for Recipient, Result.

  • GameRequest.Dialog

  • AppGroupRequest.Dialog
  • AppInvite

    Now a struct, use a type-safe Promotion property, instead of separate promotionCode and promotionText.

  • AppInvite.Dialog

Give Feedback

Facebook SDK in Swift is still in beta, and we would love to hear your thoughts and feedback on it.

Contribute

All of Facebook SDK for Swift development happens on GitHub. Contributions make for good karma and we welcome new contributors with tremendous joy. We encourage you also to read our contributing guidelines before submitting a Pull Request.

LICENSE

See the LICENSE file.