Facebook iOS SDK Changelog

What's new in Facebook iOS SDK 4.40.0

Mar 7, 2019
  • Fixed:
  • Various bug fixes

New in Facebook iOS SDK 4.30.0 (Jan 31, 2018)

  • Fixed:
  • Minor fixes to messenger sharing
  • Fix for locking the device in middle of authentication session

New in Facebook iOS SDK 4.27.0 (Oct 23, 2017)

  • Added:
  • Support for Xcode 9
  • Fixed:
  • iOS 11 Bug fixes

New in Facebook iOS SDK 4.26.0 (Aug 31, 2017)

  • Added:
  • QR Codes on device login and sharing
  • Fixed:
  • Mitigate issue with SafariViewController not showing if there keyWindow in UIApplication is nil

New in Facebook iOS SDK 4.23.0 (Jun 13, 2017)

  • Fixed:
  • Fixed a crash bug in the PlacesKit Sample App for iOS 8/9

New in Facebook iOS SDK 4.22.0 (Apr 25, 2017)

  • Added:
  • Added Places Graph.
  • Modified:
  • Updated to use Graph API v2.9.
  • The title, description, caption and image field of FBSDKShareLinkContent have been deprecated. Please take appropriate action to remove usage of them.

New in Facebook iOS SDK 4.21.0 (Apr 10, 2017)

  • Added:
  • Redesigned Interstitial ads and added video autoplay for DR and brand video ads.
  • Added support for iOS App extensions to show ads in keyboard apps.
  • Fixed:
  • Fixed several memory leak issues playing video ads.

New in Facebook iOS SDK 4.20.2 (Mar 24, 2017)

  • Account Kit:
  • Fixed: Fixes issue with missing architecture for i385 and x86_64.

New in Facebook iOS SDK 4.17.0 (Oct 31, 2016)

  • Added:
  • Added setUserID: and updateUserProperties: to FBSDKAppEvents. See here for more details.
  • Added application:openURL:options: to FBSDKApplicationDelegate to iOS 10.
  • Fixed:
  • Fixed potential issues when presenting UI without a dispatch in the FBSDKLoginManager callbacks.
  • Fixed bug where FBSDKLoginManager was prematurely deallocated.
  • Fixed builds for older versions of Xcode. PR 845

New in Facebook iOS SDK 4.16.1 (Oct 11, 2016)

  • Modified:
  • Updated to use Graph API 2.8.

New in Facebook iOS SDK 4.16.0 (Oct 3, 2016)

  • Added FBSDKSettings setGraphAPIVersion: to allow global setting of different Graph API versions.

New in Facebook iOS SDK 4.15.1 (Sep 16, 2016)

  • Updated for Xcode 8 GM and iOS 10.
  • Deprecated FBSDKAppEventsUtility fetchDeferredAppInvite:.

New in Facebook iOS SDK 4.15.0 (Sep 6, 2016)

  • Deprecated:
  • Deprecated FBSDKAppGroupAddDialog and FBSDKAddGroupJoinDialog interfaces.
  • Modified:
  • The SDK now uses NSURLSession instead of NSURLConnection for making Graph API requests since NSURLConnection is deprecated in iOS 9
  • Fixed:
  • PR 836 - pass in correct to login params for webview
  • Fixed crash on iPads when logging out via FBSDKLoginButton.
  • Fixed localization when using Cocoapods
  • Return individual photo IDs when sharing photos via FBSDKShareAPI whereas previously the SDK would return the photo album post ID.

New in Facebook iOS SDK 4.14.0 (Jul 15, 2016)

  • Modified:
  • Updated to use Graph API 2.7
  • Fixed:
  • Replace deprecated UIActionSheet with UIAlertController
  • Fix empty profile picture when all permissions revoked

New in Facebook iOS SDK 4.13.1 (Jun 17, 2016)

  • AUDIENCE NETWORK:
  • Fixed:
  • Performance and size improvements
  • Removed internal debugging utilities not meant for release builds (FBAdThreadWatchdog)

New in Facebook iOS SDK 4.12.0 (May 27, 2016)

  • Added:
  • Added [FBSDKShareAPI.accessToken] to allow changing the access token used for sharing (pull request 826)
  • Modified:
  • Initial logins will now pass the "rerequest" flag so that previously denied permissions are presented in the login dialog
  • Fixed:
  • Fixed cases where AppEvents could crash because of missing session id.
  • Fixed bug in some cases where access token expiration date was the refresh date.

New in Facebook iOS SDK 4.11.0 (May 13, 2016)

  • Added:
  • Added -[FBSDKAppEvents logPushNotification*] and -[FBSDKAppEvents setPushNotificationsDeviceToken:]. See push campaigns docs for more details.
  • Added -[FBSDKAppLinkUtility fetchDeferredAppInvite:] to support deferred App Invite app links on iOS, and FBSDKAppInviteContent.promotionCode and FBSDKAppInviteContent.promotionText to make it easy to include a promotion code with the invite. See app invite docs for more details.
  • Added -[FBSDKProfile loadCurrentProfileWithCompletion:]
  • Added FBSDKHashTag and FBSDKShareMediaContent to support sharing hash tags and mixed content (e.g., photos and videos). See sharing docs for details.
  • Added FBSDKShareLinkContent.quote to support sharing quotes from a link.
  • Added FBSDKShareVideo.previewPhoto to provide a photo to represent the video.
  • Modified:
  • Updated to use Graph API v2.6.
  • Improved session tracking accuracy in FBSDKAppEvents, including a configurable value for identifying session timeout thresholds (located in your app's Analytics for Apps settings).
  • The SDK throws an exception if incorrect schemes are configured in the app's plist.
  • Updated xctool and Bolts (v1.7) submodules.
  • Fixed:
  • Fixed support for Cocoapods 0.39 and 1.0.0-beta6
  • Fixed scope of static variables in FBSDKAppEventsDeviceInfo that were incorrectly scoped global.

New in Facebook iOS SDK 4.10.1 (Mar 17, 2016)

  • Facebook SDK:
  • Fixed timezone accuracy for App Events in some affected cases.
  • Audience Network:
  • Improved Xcode 7.3-beta compatibility
  • Moved feature config loading to first call to SDK
  • Changed log when loading feature config to debug level instead of error level
  • Fixed crash when dismissing AdChoices view
  • Disabled module support to fix excessive linker warnings

New in Facebook iOS SDK 4.10.0 (Feb 12, 2016)

  • modified:
  • Update Bolts submodule to 1.6.
  • App Transport Security whitelisting for Facebook servers is no longer needed.
  • fixed:
  • Fixed rendering issues for FBSDKWebDialog (fixed the border alignment).
  • Fixed bug that would overwrite explicit "locale" parameters on graph requests.
  • Removed development team ID from FBSDKLoginKit(GitHub pull request #813: @IgorOvechko).

New in Facebook iOS SDK 4.9.1 (Jan 20, 2016)

  • Fixed:
  • Fixed bitcode support for all frameworks.

New in Facebook iOS SDK 4.9.0 (Jan 14, 2016)

  • Added:
  • Added FBSDKCatalog sample app.
  • Added FBSDKTVOSKit.framework for building tvOS apps. See our tvOS guide for more details.
  • Modified:
  • Updated Bolts submodule to 1.5 and OHHTTPStubs submodule to 4.6.
  • Fixed:
  • Fixed the FBSDKLikeControl social sentence to respect locale.
  • Fixed bug in FBSDKAppEvents that not send attribution in some cases.
  • Fixed FBSDKLoginButton delegate to receive loginButtonWillLogin: only at button login.
  • Fixed bug in FBSDKAppEvents that would not sent events if activateApp was sent from a background thread.
  • Fixed README documentation(github pull request #810: @orta).
  • Fixed login bug that treated a request for no new permissions as a cancellation.
  • Fixed headerdoc comments for FBSDKLoginButton regarding default height (GitHub pull request #804: @revolter).
  • Fixed missing Hebrew localization in FacebookSDKStrings.bundle
  • Fixed support for Cocoapods-1.0.0-beta2
  • Fixed ENABLE_BITCODE flag for Xcode 7.2

New in Facebook iOS SDK 4.8.0 (Nov 12, 2015)

  • Added:
  • FBSDKShareAPI can now share FBSDKShareVideo content initialized with file URLs.
  • Modified:
  • Update OHHTTPStubs to 3.1.12.
  • Reorganized some internal headers as "Project" instead of "Private" scope.
  • Fixed:
  • Fixed the issue sharePhotoContent cannot set peopleIds in FBSDKShareAPI.
  • Fixed shareVideoContent to reject setting peopleIds and placeId (unsupported in Graph API video endpoint) in FBSDKShareAPI.

New in Facebook iOS SDK 4.7.1 (Oct 28, 2015)

  • Fixed:
  • Fixed issue with the login podspec.

New in Facebook iOS SDK 4.7.0 (Oct 12, 2015)

  • Deprecated:
  • Deprecated [FBSDKProfile imagePathForPictureMode]. Added [FBSDKProfile imageURLForPictureMode] instead.
  • Added:
  • Added [+FBSDKRequestConnection setDefaultConnectionTimeout:] to allow setting of default timeout value for all requests.
  • Modified:
  • The SDK now targets v2.5 of the Graph API. See for details.
  • The completion results sent to the delegate of GameRequestDialog will now contain a key "to" with a NSArray value containing the recipients.
  • Updated Bolts submodule to 1.3.0
  • Annotated FBSDKAccessToken init and new as NS_UNAVAILABLE.
  • Fixed:
  • Fixed usage of FBSDKApplicationDelegate application:didFinishLaunchingWithOptions: in SDK samples.
  • Fixed EXEC_BAD_ACCESS that could occur in FBSDKLoginManager using FBSDKLoginBehaviorWeb and the login is cancelled.
  • Fixed headerdoc comments on FBSDKLoginBehavior.
  • Fixed deprecated warnings when compiled for iOS 9 with CocoaPods.
  • Fixed orientation issue where SFSafariViewController was not rotating in the login flow.

New in Facebook iOS SDK 4.6.0 (Sep 11, 2015)

  • Deprecated:
  • Several methods on FBSDKLoginManager and FBSDKAppInviteDialog have been deprecated in favor of new overloads that take a fromViewController parameter. This resolves various presentation issues that can occur on iOS 9.
  • Added:
  • The SDK supports various iOS 9 features including Bitcode. In addition, the SDK dialogs such as Login, Like, Share Dialogs automatically determine the best UI based on the device, including SFSafariViewController instead of Safari. Follow the our Preparing for iOS 9 guide.
  • Modified:
  • Updated submodules, including Bolts (1.2.2).
  • Removed armv7s slice from the framework architectures.
  • Added [FBSDKLoginButtonDelegate loginButtonWillLogin:].
  • Fixed:
  • Fixed FBSDKLoginButton selected style.
  • Fixed FBSDKTestUsersManager crash when test users did not have access tokens.
  • Fixed login bug that could cause some logins to fail with error code 308.
  • Removed old install path from samples' framework search paths.
  • Fix deferred applink handling with click_time specified (github pull request #789: @kookiekrak).
  • Fixed bug that may prematurely dismissing login dialogs when processing error recovery.
  • MessengerShareKit:
  • Updated to support iOS 9, including bitcode.
  • Deprecated [FBSDKMessengerSharer messengerPlatformCapabilities]
  • Audience Network:
  • Updated to support iOS 9, including bitcode.
  • Fixed:
  • Improved localization for fullscreen video view
  • Improved image performance for FBMediaView

New in Facebook iOS SDK 4.6.0 Beta 1 (Aug 18, 2015)

  • Added:
  • The SDK is Xcode 7 and iOS 9 beta 5 compatible. Please review our Preparing for iOS 9 guide.
  • Bitcode is included in the SDK. See Apple's App Thinning Guide.
  • Modified:
  • The SDK dialogs such as Login, Like, Share Dialogs automatically determine the best UI based on the device, including SafariViewController instead of Safari.
  • Removed armv7s slice from built architectures.
  • Fixed:
  • Fixed FBSDKLoginButton selected style.

New in Facebook iOS SDK 4.5.1 (Aug 14, 2015)

  • Fixed:
  • Fixed bug that could cause crashes when using ios7.

New in Facebook iOS SDK 4.5.0 (Aug 11, 2015)

  • Modified:
  • The SDK is now distributed as a zip archive instead an installer. A script is included to install Xcode docsets manually.
  • The SDK performs some additional logging in preparation for iOS 9. Please review our guide to prepare for iOS 9.
  • FBSDKShareDialog now automatically tries FBSDKShareDialogModeBrowser if FBSDKShareDialogModeNative is specified and the Facebook App on the device does not support the content.
  • Updated submodules OHHTTPStubs, OCMock, xctool.
  • Fixed:
  • Fixed bug that could cause crashes when logging FBSDKAppEvents from multiple threads for different events.
  • Fixed bug in FBSDKGraphRequestConnection where requestConnectionDidFinishLoading is called even in the case of a network error.

New in Facebook iOS SDK 4.4.0 (Jul 9, 2015)

  • Modified:
  • The SDK now targets v2.4 of the Graph API. Please review the Graph API changelog for details. For example, the number of default fields returned by Graph endpoints have been reduced and you should always explicitly ask for the fields you need.
  • Updated Bolts to 1.2.
  • Updated header docs for FBSDKShareLinkContent to clarify parameter usage.
  • Modified RPSSample with additional FBSDKAppEvents for game results.
  • Removed unused groupID property from FBSDKAppGroupContent.
  • Fixed:
  • Fixed bug when tagging people or places in open graph stories when using Share Dialogs.
  • Fixed bug in FBSDKShareDialog that did not validate content before sharing.
  • Fixed RPSSample to assign delegate to its share dialog.

New in Facebook iOS SDK 4.3.0 (Jun 26, 2015)

  • Added:
  • Added graphNode property to FBSDKShareAPI.
  • Fixed:
  • Fixed crash when sharing content (like photos) via the Share Dialog in the callback of the FBSDKLoginManager.
  • Fixed stack overflows when rendering FBSDKLoginButton in iPad popovers
  • Fixed NSKeyedUnarchiver console error when using like controls.
  • Fixed bug in refreshCurrentAccessToken to prevent bad logic when currentAccessToken == nil.
  • Fixed consoler error when using FBSDKProfilePictureView with an initial size dimension of 0.

New in Facebook iOS SDK 4.1.0 (May 1, 2015)

  • Added:
  • Added [FBSDKAccessToken refreshCurrentAccessToken] to refresh current token.
  • Added FBSDKTestUsersManager to simplify writing tests with test users.
  • Added property caption to FBSDKSharePhoto.
  • Added property message to FBSDKShareAPI.
  • Modified:
  • FBSDKShareAPI will now warn about missing "publish_actions" in the console rather than throwing an exception immediately.
  • The Facebook-iOS-SDK podspec has been deprecated in favor of FBSDKCoreKit, FBSDKLoginKit, FBSDKShareKit individual podspecs in order to support Cocoapods 0.36.
  • The SDK will throw an exception if the FacebookAppID or URL schemes are missing.
  • Removed FBSDKAppInviteContent initWithAppLinkURL:. Use the standard init and set the appLinkURL property.
  • Fixed:
  • Fixed bug that prevented invoking login from app delegate lifecycle events.
  • Fixed bug that prevented usage of fb:explicitly_shared for open graph actions.
  • Fixed bug in system account store login that would not re-prompt for missing permissions.
  • Fixed bug in handling NSURLs and NSNumbers in parameters in sharing APIs.
  • Fixed bug that prevented FBSDKGraphRequestConnection's delegate from receiving the 'requestConnectionDidFinishLoading:' message.
  • Fixed bug that could result in premature dellocation of dialogs before completion.
  • Updated Bolts submodule reference to include fix for module map generation when trying use the SDK with Swift.

New in Facebook iOS SDK 4.0.1 (Apr 3, 2015)

  • Added:
  • Added support for clang modules and usage of @import
  • No need for Obj-C bridging headers when used in Swift
  • Added a new sample app, Iconicus, for demonstrating hosted app links
  • Fixed:
  • Fixed the Share Sheet validation of photo content

New in Facebook iOS SDK 4.0.0 (Mar 26, 2015)

  • ADDED:
  • FBSDKCoreKit.framework - the framework providing common SDK classes, and APIs for App Events, Graph API Requests:
  • FBSDKProfile - a robust way to fetch user public profile data.
  • FBSDKGraphErrorRecoveryProcessor - an error recovery attempter to process Facebook errors.
  • FBSDKUtility - a utility class to help parse URLs.
  • FBSDKLoginKit.framework - a framework providing login functionality. Requires FBSDKCoreKit:
  • FBSDKLoginManager - a block based API for authorization.
  • FBSDKShareKit.framework - a framework providing sharing functionality. Requires FBSDKCoreKit:
  • FBSDKGameRequestDialog - a strongly typed dialog to create Game Requests.
  • FBSDKAppInviteDialog - a strongly typed dialog to send App Invites.
  • FBSDKShareAPI - a strongly typed implementation to perform shares over the Graph API.
  • FBSDKShareButton/FBSDKSendButton/FBSDKLikeButton - turn-key buttons for sharing.
  • FBSDKMessengerSharerKit.framework - a framework for building on Messenger Platform
  • MODIFIED:
  • All types marked @deprecated have been removed.
  • Existing types have been renamed with a FBSDK prefix instead of FB. For example, FBAppEvents -> FBSDKAppEvents.
  • FB*Dialogs and FB*DialogsParams. Use the appropriate strongly typed dialog and content model from FBSDKShareKit.framework.
  • FBAppCall is generally replaced by FBSDKApplicationDelegate. See the getting started guide.
  • FBSDKRequest* is replaced by FBSDKGraphRequest* and automatically provides error recovery and simplier error classification. See the upgrade guide.
  • FBSession and FBAccessTokenData are replaced by FBSDKLoginManager, FBSDKAccessToken. See the upgrade guide.
  • REMOVED:
  • FBAppLinkData. Use BFURL from Bolts.framework.
  • FBGraphObject. Use the appropriate open graph content model along with FBSDKShareAPI from FBSDKShareKit.framework.
  • FB*ViewController and FBCacheDescriptor. No alternative. Construct a table view and page the Graph API results manually.
  • FBSDKTokenCachingStrategy. No alternative. FBSDKLoginManager caches tokens to keychain automatically. You can observe token changes to do manual post processing (see [FBSDKAccessToken currentAccessToken]).

New in Facebook iOS SDK 3.23.2 (Mar 24, 2015)

  • Fixed:
  • Updated Bolts submodule to 1.1.4
  • Updated FacebookSDK to no longer statically link Bolts.framework. You can now link Bolts frameworks without duplicate symbol linker errors.

New in Facebook iOS SDK 3.23.0 (Feb 6, 2015)

  • Added:
  • Added [FBRequest requestForUploadVideo] to more easily upload videos.
  • Modified:
  • FBErrorUtility better categorizes server-side errors when System Account login fails.
  • FBRequest parameters now support NSNumber instances.
  • Fixed:
  • Fixed FBViewController to page results correctly.
  • Fixed FBViewController does not display its own navigation bar when in a modal navigation controller.
  • Fixed bug in FBRequestConnection that prevented video uploads if token refresh requests were piggybacked.
  • Fixed bug regarding cookie usage in FBRequest.
  • Fixed analyzer warnings.

New in Facebook iOS SDK 3.22.0 (Jan 7, 2015)

  • Added:
  • Added FBTestUsersManager and FBTestUserSession to more easily write integration tests (replaces FBTestSession).
  • Allow opted-in apps to automatically log in-app purchase events as App Events. See the App Events guide.
  • Modified:
  • Deprecated FBTestSession.
  • Fixed:
  • Removed submodules flag from podspec.
  • Moved project private files out of ./src and into specific folders.
  • Fixed comments in image_to_code.py.
  • Fixed podspec prepare_command to not generate public headers for resource files.
  • Fixed crash caused by decoding of incorrectly formatted URLs.

New in Facebook iOS SDK 3.21.1 (Dec 6, 2014)

  • FACEBOOK SDK:
  • Modified:
  • Modified the dependency format for the android support library.
  • AUDIENCE NETWORK:
  • Added:
  • Auto-refresh capabilities for the new rectangle ad format.
  • Fixed:
  • Fix issue preventing subsequent manual calls to loadAd() on the new rectangle ad format.

New in Facebook iOS SDK 3.20 (Nov 26, 2014)

  • Added:
  • Added a new sample, ShareIt which demonstrates the Like Button.
  • Modified:
  • v3.20 of the SDK targets v2.2 of the Graph API. You can also read the blog post.
  • Updated Bolts submodule to 1.1.3 and ios-snapshot-test-case to 1.2.
  • FBLikeControl now has a objectType property to specify the object type to like and can log errors to console when using the new FBLoggingBehaviorUIControlErrors logging behavior.
  • Fixed:
  • Updated podspec to no longer include AdSupport framework or FBUserSettingsViewResources.bundle by default.
  • Fixed bugs in Like Button.
  • Fixed bug in login when using `FBSessionLoginBehaviorUseSystemAccountIfPresent.
  • Fixed memory leak in FBLoginView.
  • Fixed bug in FBRequestConnection so that piggybacked requests (such as token extension) are not added when using deprecated style FBRequests, or if the graph version part had been overridden.
  • Minor documentation and whitespace fixes.

New in Facebook iOS SDK 3.19.0 (Oct 3, 2014)

  • FacebookSDK.framework:
  • Added:
  • Added Facebook-iOS-SDK.podspec for better Cocoapods support.
  • The Like Button for iOS is now out of beta!
  • Fixed:
  • Fixed thread safety bug in FBDynamicFrameworkLoader.
  • Fixed memory leaks reported by analyzer.
  • Fixed bug in FBViewController that did not display Cancel or Done buttons in some iOS 8 conditions.
  • FBAudienceNetwork.framework:
  • Fixed:
  • Fixed crash issue when requesting FBNativeAd on iOS 5.
  • Fixed tint color bug for in-app FBSKStoreProductViewController.

New in Facebook iOS SDK 3.18.2 (Sep 30, 2014)

  • FacebookSDK.framework:
  • Fixed:
  • Re-added armv7s architecture
  • FBAudienceNetwork.framework:
  • Fixed:
  • Re-added armv7s architecture

New in Facebook iOS SDK 3.18.1 (Sep 26, 2014)

  • FacebookSDK.framework:
  • Fixed:
  • Fixed bug that would prevent some instances of app links from being logged.
  • FBAudienceNetwork.framework:
  • Added:
  • Added delegate functions when the ad impression is being captured.
  • Fixed:
  • Fixed the issue that delegate function ‘adViewDidClick:’ was not properly fired when a person clicked the install button of app ad.

New in Facebook iOS SDK 3.18.0 (Sep 4, 2014)

  • Fixed:
  • Bolts.framework is now installed in the FacebookSDK directory
  • Fixed the orientation of web dialogs when linking against the iOS 8 SDK

New in Facebook iOS SDK 3.17.1 (Sep 3, 2014)

  • Added:
  • Added App Links Analytics
  • Fixed:
  • Fixed all enum declarations to use NS_ENUM for Swift compatibility
  • Fixed a memory leak in FBSessionTokenCachingStrategy

New in Facebook iOS SDK 3.17 (Aug 8, 2014)

  • Added:
  • Added FBTaggableFriendPickerViewController to pick freinds from the taggable_friends API for apps with the user_friends permission.
  • Deprecated:
  • Removed deprecated REST API methods ([FBRequest initWithSession:restMethod:parameters:HTTPMethod:], [FBRequest restMethod]).
  • Modified:
  • Upgrade to Facebook API v2.1
  • Requires iOS 6.0+
  • Updated version of FBLikeControl.
  • Updated FBFriendPickerViewController.
  • Updated FBPlacePickerViewController.
  • Moved access tokens into the keychain.
  • Fixed:
  • Fixed a bug in FBLoginView that incorrectly notified the FBLoginViewDelegate of errors when its internal request to fetch userInfo was cancelled.
  • Fixed a bug in FBRequestConnection that resulted in an incorrect error message when an access token expired. (https://github.com/facebook/facebook-ios-sdk/pull/634)

New in Facebook iOS SDK 3.16.1 (Jul 18, 2014)

  • Modified:
  • Removed non-essential App Events code.

New in Facebook iOS SDK 3.16.0 (Jul 11, 2014)

  • Added:
  • Added parameterless [FBDialogs canPresent*] helpers to detect if a share capability is available without constructing parameters.
  • Added FBAppEvents.loggingOverrideAppID to support logging of app events to a different app ID than the primary app ID.
  • Added properties appID and userID to FBAccessTokenData. userID is populated automatically upon successful login with a token string.
  • Added FBRequestConnectionDelegate so that consumers of FBRequestConnection can be notified of various events like completion of all requests.
  • Deprecated:
  • The app event FBAppEventNameActivatedApp is deprecated in favor of calling [FBAppEvents activateApp].
  • The app event FBAppEventNamePurchased is deprecated in favor of calling [FBAppEvents logPurchase:currency:].
  • FBSession's appVersion and setAppVersion methods are deprecated, and app events' reporting will use the app's CFBundleVersion as the version indicator instead.
  • The deprecated [FBSettings publishInstall:] has been deleted. Use [FBAppEvents activateApp] instead.
  • Modified:
  • [FBAppEvents activateApp] also logs an event "deactivated app" which tracks time spent in the app and time between app invocations.
  • Removed the sample apps: ProfilePictureSample, GraphApiSample, SessionLoginSample.
  • Modified Scrumptious sample to use taggable_friends API instead of FBFriendPickerViewController.
  • Fixed:
  • Fixed bug in login to allow correct specification of default_audience when asking for publish permissions.
  • Fixed bug in FBAccessTokenData caching when working with multiple app IDs.

New in Facebook iOS SDK 3.15.1 (Jul 4, 2014)

  • Modified:
  • The 'registerViewForInteraction:' function in 'FBNativeAd' in the Audience Network framework was modified to accept the view controller that shows the native ad unit. This is to ensure proper presentation of the iOS app store when clicking on mobile app install ads. For more information on the the Native Ad API see our documentation here: https://developers.facebook.com/docs/audience-network/ios/native-api

New in Facebook iOS SDK 3.15 (Jul 4, 2014)

  • Added:
  • Add snapshot tests and a new FacebookSDKApplicationTests target for tests that require UIKit
  • Modified:
  • Update all targets to use xcconfigs for project settings
  • Update build scripts to use xctool
  • Convert to XCTest for unit tests
  • Fixed:
  • Use error consts where able (NSURLErrorDomain, NSURLErrorCancelled)
  • Fix parsing of empty URL params (https://github.com/facebook/facebook-ios-sdk/pull/461)
  • Fix zombie in FBFrictionlessRequestSettings (https://github.com/facebook/facebook-ios-sdk/issues/464, https://github.com/facebook/facebook-ios-sdk/issues/458)
  • Fix typo in commnet in FBGraphObject (https://github.com/facebook/facebook-ios-sdk/issues/477)
  • Fix FBTooltipView to not crash on a server error (https://github.com/facebook/facebook-ios-sdk/issues/613)
  • Fix FBLoginDialog delegate zombie (https://github.com/facebook/facebook-ios-sdk/issues/576)
  • Fix inconsistency in attempting to open an app URL (/bugs/489245687842265/)
  • Remove access to IDFA for implicit events
  • Tweak FBLikeControl

New in Facebook iOS SDK 3.14.1 (May 13, 2014)

  • Modified:
  • The id property on the types FBGraphObject, FBGraphPlace, FBOpenGraphAction, and FBOpenGraphObject have been deprecated in favor of objectID to avoid app store submission warnings.
  • The description property of FBLinkShareParams and FBOpenGraphObject has been deprecated in favor of linkDescription and objectDescription, respectively, to avoid app store submission warnings.
  • Fixed:
  • Fixed bugs in Audience Network.
  • Fixed bug in FBOpenGraphActionParams that prevented sharing of certain open graph stories.
  • Fixed bug in FBFrictionlessRequestSettings that could result in a zombie reference.
  • Fixed bug in legacy Facebook that could crash when parsing URL.

New in Facebook iOS SDK 3.14.0 (May 1, 2014)

  • Added:
  • Version 3.14 targets v2.0 of the Graph API and uses the New Facebook Login, which affects FBSession in numerous ways. Please read the iOS SDK Upgrade Guide and the App Upgrading Guide to learn more.
  • We've added the new Facebook Message Dialog, a new way to share links, photos, and open graph stories via Facebook Messenger without requiring login. See the iOS Message Dialog Guide for more details.
  • Added FBLikeControl, a new UI control to easily let users perform a Like in your native apps. This is a beta. See our guide for more details.
  • Added support for the Audience Network, which is a new way to monetize your apps. The Audience Network is in a new framework called FBAudienceNetwork.framework.
  • Added FBAppLinkResolver to support App Links, a new way for cross app linking and discovery. See applinks.org for more details.
  • Modified:
  • Updated Scrumptious sample with a brand new design with a storyboard implementation. The app now features both the Native Share Dialog and Message Dialog when the appropriate Facebook App is also installed on the device.
  • FBShareDialogParams is deprecated in favor of FBLinkShareParams.
  • FBShareDialogPhotoParams is deprecated in favor of FBPhotoParams.
  • FBOpenGraphActionShareDialogParams is deprecated in favor of FBOpenGraphActionParams.
  • Fixed:
  • A bug preventing usage of the iOS integrated share sheet when the user was logged in by the Facebook App and not the system account store.
  • Other:
  • The Bolts framework is now required when using FBAppLinkResolver. The framework is included in the Facebook SDK and installed next to the Facebook SDK with the installer package (default location is ~/Documents/Bolts.framework). If you're using FBAppLinkResolver you'll need to add the Bolts framework to your build.

New in Facebook iOS SDK 3.13.1 (Apr 7, 2014)

  • Fixed:
  • Fixed projects for XCdoe 5.1.
  • Fixed bug preventing usage of iOS share sheet when logged in via a different login behavior.

New in Facebook iOS SDK 3.13.0 (Mar 14, 2014)

  • Modified:
  • Modified sample apps for 64 bit support and update project settings.
  • Added:
  • Added presentShareDialogWithPhotoParams:clientState:handler: and canPresentShareDialogWithPhotos to FBDialogs. You can now use the Native Share Dialog to share photos directly without constructing an Open Graph story.
  • Fixed:
  • Fixed missing import in FBErrorUtility.h
  • Fixed FBProfilePictureView to work for "@me" and consistently handle invalid images.
  • Fixed Scrumptious sample to use existing OG meal objects when posting via Native Share (similar to the Android SDK sample)

New in Facebook iOS SDK 3.12.0 (Feb 5, 2014)

  • Modified:
  • Added appledoc as a submodule.
  • Updated code style.
  • Removed unnecessary @synthesize statements.
  • Organized source files.
  • Added xcconfig files for the sample projects.
  • Modified Rock Paper Scissors sample app to demonstrate custom app events and deep linking.
  • Fixed:
  • Fixed 64-bit support in sample code.
  • Fixed image usage in Scrumptious sample.

New in Facebook iOS SDK 3.11.1 (Jan 18, 2014)

  • Fixed:
  • Fixed bug in FBRequestConnection which was causing crashes when refreshing an access token.

New in Facebook iOS SDK 3.11.0 (Dec 23, 2013)

  • Modified:
  • Moved README file to README.txt
  • Fixed:
  • Fixed image usage in Scrumptious sample.
  • Fixed bug in FBUserSettingsViewController that did not open cached session tokens.
  • Fixed bug in FBAppEvents to use the correct session when there is no access token nor client token.
  • Fixed bug in FBAppLinkData. The ref property should be type NSString and not NSArray.
  • Fixed bug in FBRequest serialization of open graph object posts.

New in Facebook iOS SDK 3.10.0 (Nov 21, 2013)

  • Modified:
  • Modified Scrumptious sample to no longer use -ObjC linker flag.
  • Modified FBSession to optimistically receive granted permissions when opening the session. This applies to all logins except for iOS 6+ integrated authentication.
  • Added:
  • Added property loginBehavior to FBLoginView to allow control over which login behavior is used.
  • Added setter to property selection in FBFriendPickerViewController to allow preselection of friends.
  • Fixed:
  • Fixed bug in FBSession so that FBSessionStateCreatedTokenLoaded -> FBSessionStateClosed is not a valid state transition.
  • Fixed bug in FBSession so that the FBSessionLoginBehavior used to open the session is also applied to requests for new permissions.

New in Facebook iOS SDK 3.9.0 (Oct 22, 2013)

  • Modified:
  • Removed @beta attribute from FBAppEvents API.
  • Moved [FBAppEvents limitEventUsage] to [FBSettings limitEventAndDataUsage].
  • Replaced PackageManager with productbuild and pkgbuild in the script, build_distribution.sh.
  • Updated FBSession to piggyback a permissions refresh onto the first request after opening.
  • Added:
  • Added -[FBSession setStateChangeHandler].
  • Fixed:
  • Fixed SDK project file deployment target for 64 bit builds.
  • Fixed bug in FBGraphObjectPagingLoader to correctly inform delegate in case of errors.
  • Fixed bug in FBLoginView that would sometimes incorrectly try to open an already open session.

New in Facebook iOS SDK 3.8.0 (Sep 19, 2013)

  • Modified:
  • Updated SDK and samples to support iOS 7 and XCode 5 and 64 bit architectures. See our upgrade guide.
  • Updated Update App User ID requests so they respect limitEventUsage setting.
  • Updated FBRequestConnection and FBSession to automatically refresh session permissions periodically. This refresh is piggybacked to outgoing requests to avoid extra network round-trips and occurs at most once a day.
  • Added:
  • Added addRequest:completionHandler:batchParameters to FBRequestConnection to support additional parameters to batched graph requests.
  • Fixed:
  • Fixed rotation bug in FBDialog
  • Fixed bug in batched graph requests when a request's path includes special characters.
  • Fixed FBLoginView and FBProfilePictureView to support autolayout and storyboards.

New in Facebook iOS SDK 3.7.1 (Sep 4, 2013)

  • Fixed:
  • Fixed [FBAppCall openDeferredAppLink:] to respect multiple invocations properly.
  • Fixed image attachment in the Native Share Dialog for iOS 7.

New in Facebook iOS SDK 3.7 (Aug 9, 2013)

  • Modified:
  • Updated logo and default text for FBLoginView. The button is now wider. See the Upgrading Guide for more information.
  • Updated FBSession with additional implicit logging during login.
  • Updated Scrumptious and HelloFacebookSample to use the aforementioned errorBehavior for its Graph requests.
  • Updated Scrumptious landing page design.
  • Added:
  • Added property errorBehavior to FBRequestConnection to provide automatic error handling. See this guide for more information.
  • Fixed:
  • Fixed potential BAD_EXC_ACCESS error in FBWebDialogs.
  • Fixed error conditions related to login with Safari or iOS 6.
  • Fixed bug in FBRequestConnection when the request was cancelled.

New in Facebook iOS SDK 3.6 (Jul 25, 2013)

  • Modified:
  • FBInsights is deprecated. Please use FBAppEvents instead.
  • Several FBSettings methods related to publishing installs are deprecated including shouldAutoPublishInstall, setShouldAutoPublishInstall:autoPublishInstall, and publishInstall:appID. Use [FBAppEvents activateApp] instead.
  • The Scrumptious sample app demonstrates the native Share Dialog and localization best practices.
  • Graph API requests made implicitly from SDK methods no longer close an FBSession if they fail
  • Added:
  • FBAppEvents is a new class that lets apps publish custom events from apps to Facebook for the purposes of monitoring the impact of mobile app ads on logged app events and providing Insights on logged events. For more information, read the documentation here.
  • The SDK version number is defined in FacebookSDK.h and available from [FBSettings sdkVersion]
  • FBAppCall has new APIs to retrieve deferred app links and more easily parse inbound app links.
  • Fixed:
  • Fixed a login bug for apps that use a custom URL scheme suffix.
  • Fixed a bug in FBWebDialogs when an UIAlertView was present
  • Other:
  • SDK 3.6 setup is simplified due to two changes:
  • iOS framework dependencies are loaded automatically and do not need to be configured manually.
  • The SDK's resource bundle is no longer required. Image and string resources that support the web-based dialogs, Login button, and other UI controls are are now included automatically. The impact on app size is negligible.
  • The SDK is now signed and easier to install on OS X

New in Facebook iOS SDK 3.5.3 (Jul 2, 2013)

  • Fixed:
  • A crash when using the deprecated FBNativeDialogs class.
  • Static analyzer warnings.
  • Removed another usage of id selector to prevent false positives of "non-public selector" warnings for App Store approval.

New in Facebook iOS SDK 3.5.2 (Jul 2, 2013)

  • Fixed:
  • Support for passing a single UIImage instance to the Open Graph Share Dialog.
  • Support apps that use multiple URL schemes.
  • Stability improvements and prevention of potential memory leaks.
  • FBWebDialogs bug that occurred when user is not authenticated.
  • Fixed issue that occurred with apps with bundle IDs longer than 47 characters.
  • Modified:
  • Usage of UIDevice to prevent false positives regarding [UIDevice uniqueIdentifier] for App Store approval.
  • Removed usage of id selector to prevent false positives of "non-public selector" warnings for App Store approval.
  • Improve share dialog performance.

New in Facebook iOS SDK 3.5.1 (Apr 25, 2013)

  • Fixed:
  • Crashing bug when using the new native Login Dialog under certain scenarios, ex: no internet connection.
  • Failure to provide a return URL for FBWebDialogs.
  • Modified:
  • Minor improvement to the RPSSample sample app.

New in Facebook iOS SDK 3.5 (Apr 19, 2013)

  • MODIFIED:
  • FBSession support for the native Login Dialog iOS 6 is still the default login dialog. People who have Facebook version 6.0 (or greater) will see the native Login Dialog. People on older versions of the Facebook app will continue to see the web-based Login Dialog.
  • FBRequest and FBRequestConnection helpers for Object API. SDK 3.5 supports the new Open Graph APIs that let apps create, read, update, and delete Open Graph objects.
  • FBRequest and FBRequestConnection support for reading a custom audience API
  • FBSettings has several BetaFeature methods
  • The image property on FBOpenGraphAction changed from type NSArray to id
  • ADDED:
  • FBDialogs addition of present* and can* methods for sharing Open Graph actions, links, and status updates
  • FBAppCall is a new class that apps use to consistently handle "open URL" events sent to an app from the Facebook app.
  • Adds FBErrorUtility public API and makes the -ObjC linker flag optional SDK 3.2 included improved support for handling errors and required apps to use the –ObjC linker flag to access these new APIs. The –ObjC linker flag is still supported but is no longer required to use the new error handling APIs. Apps can use FBErrorUtility without
  • Adds Rock Paper Scissors sample app The Rock Paper Scissors sample apps shows how to use app-owned Open Graph objects and how to use the native Share Dialog from an app that doesn't require use of Facebook Login to publish Open Graph actions.
  • Add photo upload support to Scrumptious sample app Scrumptious has been updated to show how to use the image staging service and how to create user-owned Open Graph objects.
  • Other:
  • New setup instructions The SDK setup instructions have been simplified and just require apps to import frameworks and configure three settings in the .plist.
  • Security.framework is now required The Security framework is now required and helps secure cross app calls made to / from the Facebook app.
  • Removes BooleanOG and Hackbook samples These samples have been removed in favor of Rock Paper Scissors and to streamline the number of samples included in the SDK.
  • Removes support for iOS 4.* Facebook 6.0 dropped support for iOS 4.x. To stay in sync, the Facebook SDK is also does not support iOS 4.x.
  • Richer support for deep links using FBAppCall:
Once an app uses FBAppCall to handle cross application calls in the handleOpenURL method of the app delegate, the handling code uses the FBAppLinkData class to read data from the URL used to open the app. FBAppLinkData handles parsing the incoming URLs and provides strongly typed access to data on app links, including the target_url field of deep links.

  • FBGraphObject updates for Object API:
FBGraphObject includes updates to support the Object API. To create an instance of an Open Graph object that your app can create using [FBRequest startForPostOpenGraphObject], use:[FBGraphObject openGraphObjectForPost];

New in Facebook iOS SDK 3.0.5 Beta (Jul 12, 2012)

  • Better user session management:
  • In the past, managing auths, user sessions and tokens was hard. We've spent a lot of time working to make these takes easier for you. This release introduces FBSession, which manages, stores and refreshes user tokens with default behaviors you can override. It uses the block metaphor to notify your app when a user's token changes state.
  • Ready-to-Use Native UI Views:
  • This SDK release includes a variety of pre-built user interface (UI) components for common functions. You can quickly drop them into your apps instead of building each one from scratch or using dialogs. This gives you a fast, native and consistent way to build common features.
  • Modern Objective-C language features support:
  • With Automatic Reference Counting (ARC), you no longer have to spend as much time on memory management. Support for blocks means that it’s now more straightforward to handle sessions and calls to asynchronous Facebook APIs. This, along with inclusion of key language features like idiomatic API naming and KVO, allows you to transition seamlessly between the Facebook SDK and Apple’s iOS environment.
  • Improved Facebook APIs support:
  • We have enabled batching for SDK requests to significantly improve latency for Facebook API calls, which translates to much faster access times for API requests. Support for strongly typed Objective-C types for graph actions and objects makes programming against the social graph more concise and easier. This combined with our action publishing API makes it easier to publish Open Graph actions to people’s timelines.