Facebook SDK for iOS Changelog v4.x
Changelog and release notes for the Facebook SDK for iOS.
4.18.0 - November 30, 2016
Facebook SDK
Fixed
- Improved setting fetching in poor connectivity
- Updated logging event naming
Account Kit
Fixed
- Fix keyboard behavior on all entry screens
4.17.0 - October 26, 2016
Facebook SDK
Added
- Added
setUserID:andupdateUserProperties:toFBSDKAppEvents. See here for more details. - Added
application:openURL:options:toFBSDKApplicationDelegateto iOS 10.
Fixed
- Fixed potential issues when presenting UI without a dispatch in the
FBSDKLoginManagercallbacks. - Fixed bug where
FBSDKLoginManagerwas prematurely deallocated. - Fixed builds for older versions of Xcode. PR 845
Audience Network
Fixed
- Fixed layout constraints for medium rectangle ad
- Fixed missing selector crash in native ad templates
Account Kit
Modified
- Updated session logging
- Removed cancel callback
- Updated to use the 1.1 Account Kit graph endpoint
4.16.1 - October 10, 2016
Facebook SDK
Modified
- Updated to use Graph API 2.8
Audience Network
Fixed
- Fixed
nativeAdDidClick:not being called onFBNativeAdDelegate - Removed
UIImagePickerControllerreference causing App Store rejections
4.16.0 - September 27, 2016
Facebook SDK
Added
- Added
FBSDKSettings setGraphAPIVersion:to allow global setting of different Graph API versions.
Audience Network
Added
- Added
FBInstreamAdViewto support instream ad placements
Modified
- Deprecated
autoplayEnabledsetter onFBMediaViewin favor of server-side controls - Impression/click reliability improvements
- Updated FnF video player library for increased reliability and performance
Fixed
- Removed unintentional references to
PHAssetin the FnF video player library that may cause App Store static analysis to fail
Account Kit SDK
Modified
- Improved Resend flow, making it clearer when the user will receive a new confirmation SMS
Fixed
- Improved layout for small screen devices (iPhone 4s, iPhone 5)
4.15.1 - Sept 9, 2016
Facebook SDK
- Updated for Xcode 8 GM and iOS 10.
- Deprecated
FBSDKAppEventsUtility fetchDeferredAppInvite:.
4.15.0 - August 26, 2016
Facebook SDK
Deprecated
- Deprecated
FBSDKAppGroupAddDialogandFBSDKAddGroupJoinDialoginterfaces.
Modified
- The SDK now uses
NSURLSessioninstead ofNSURLConnectionfor making Graph API requests sinceNSURLConnection.
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
FBSDKShareAPIwhereas previously the SDK would return the photo album post ID.
Audience Network
Added
- Improved viewability debugging information
Modified
- Changed app store
SKStoreProductViewControllerto allow all orientations except upside down - Removed unused components from SDK
- Cleanup and optimization of
FBAdEnvironmentData
Fixed
- Improved fix for
FBAdConfigManagertiming issues causing FNF / AVFoundation mixed object crashes - Handle additional error conditions for bad user agents
- Fixed incorrect orientations being used for interstitial rendering due to orientation being checked in two different locations
- Reduced error logging in
FBAdConfigManagerin valid situations - Fixed crash in client event logging
Account Kit SDK
Fixed
- Make sure
viewControllerDidCanceldelegate method is called when the user pressesCancel - Fix iOS 10 rendering issues
v4.14.0 - July 13, 2016
Facebook SDK
Modified
- Updated to use Graph API 2.7
- Added dynamic framework targets and Carthage support for FBSDKCoreKit, FBSDKLoginKit, FBSDKShareKit.
Fixed
- Replace deprecated
UIActionSheetwithUIAlertController - Fix empty profile picture when all permissions revoked
Audience Network
Added
- Improved
SKStoreProductViewControllerwith more reliable loads and automatic timeout
Fixed
- Size and performance improvements
- Fixed timing issue with
FBAdConfigthat causedAVFoundationandFNF*objects to be used together, causing "unknown selector" crashes - Removed
"objc_arc"flag from modulemap
AccountKit
Fixed
- Updated the method signature of
viewControllerForLoginResume
v4.13.1 - June 16, 2016
Audience Network
Fixed
- Performance and size improvements
- Removed internal debugging utilities not meant for release builds (FBAdThreadWatchdog)
v4.13.0 - June 15, 2016
Audience Network
Fixed
- Fixed conflicting selector (dataAvailable) used in video library
- Fixed deadlock in video library
- Fixed rare crash caused by threading issues with FBAdConfigManager
- Performance optimization and improvement
v4.12.0 - May 19, 2016
Facebook SDK
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.
Audience Network
Added
- Added new high performance video player for FBMediaView using the same technology as the Facebook app (no more UI stalls)
- Added new high performance Metal-based blurred image renderer for FBMediaView (with OpenGL fallback)
- Added New dependencies - libxml2 and the C++ runtime
Modified
- Improved view controller error detection
Fixed
- FBMediaView shows cover image instead of first video frame when autoplay is disabled
- FBMediaView now adds blurring to carousel images with different aspect ratios (if necessary)
- FBMediaView follows media cache flag for carousel images
- Fixed FBNativeAdsCachePolicyAll media cache flag
- Fixed video stopping when rotated into landscape on iOS 7 devices
- Fixed being unable to restart a video after it ends
AccountKit
Added
- Added Cocoapods support for AccountKit
- Added ability to theme headerButtonTitleColor.
- Added ability to specify custom content margins in theme
- Added ability to customize text position when using advanced UI customization
- Added ability to cancel login when using advanced UI customization
Fixed
- Fixed rendering of styled headers in the country code list
- Fixed rendering of styled email entry field
- Fixed bug in advanced UI theming where wrong step was being reported for email verification screen
v4.11.0 - April 12, 2016
Facebook SDK
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, andFBSDKAppInviteContent.promotionCodeandFBSDKAppInviteContent.promotionTextto make it easy to include a promotion code with the invite. See app invite docs for more details. - Added
-[FBSDKProfile loadCurrentProfileWithCompletion:] - Added
FBSDKHashTagandFBSDKShareMediaContentto support sharing hash tags and mixed content (e.g., photos and videos). See sharing docs for details. - Added
FBSDKShareLinkContent.quoteto support sharing quotes from a link. - Added
FBSDKShareVideo.previewPhototo 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.
Audience Network
Added
- Added video precaching for native ads
Modified
- Changed full screen video player to start from the inline player's current time instead of the beginning
Fixed
- Fixed iOS 7 interstitials rendering with wrong orientation issue
AccountKit
- Added AccountKit.
FBNotifications
- Added FBNotifications.framework. See push campaigns docs
v4.10.1 - March 16, 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
v4.10.0 - February 10, 2016
Facebook SDK
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).
Audience Network
Added
- Added support for Carousel ads to
FBMediaView.
Fixed
- Fixed
SFSafariViewControllernot dispatching dismissed events. - Fixed
FBNativeAdTableViewCellProvidernative ad registration issue. - Fixed rare crash in
FBAdURLSession. - Fixed memory leak from C string to
NSStringconversion. - Fixed memory leak in network reachability.
- Fixed memory leak in
FBAdCachewhen image URLs are invalid. - Fixed crash caused by
[NSString containsString:]use in iOS 7.
v4.9.1 - January 16, 2016
Fixed
- Fixed bitcode support for all frameworks.
v4.9.0 - January 13, 2016
Facebook SDK
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
FBSDKLikeControlsocial sentence to respect locale. - Fixed bug in
FBSDKAppEventsthat not send attribution in some cases. - Fixed
FBSDKLoginButtondelegate to receiveloginButtonWillLogin:only at button login. - Fixed bug in
FBSDKAppEventsthat 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
FBSDKLoginButtonregarding 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
Audience Network
Modified
- Removed
StoreKitdependency. - Updated networking to use
NSURLSession. - Improved
AVPlayer/AVPlayerItemperformance, minor performance gains with video scrolling
Fixed
- Fixed heap overflow bug with
CGColorGetComponents - Fixed rare crash caused by timers
- Fixed changing status bar visibility on iPad devices
- Fixed gesture recognizers being removed on native ad templates in table views
- Fixed crash caused by UI access on the main thread
- Fixed issue where interstitials or banners would swallow
WKWebViewrendering errors - Fixed linker warnings caused by unneeded module debug info
- Fixed
FBNativeAdViewnever loading contents when used standalone
v4.8.0 - November 11, 2015
Facebook SDK
Added
FBSDKShareAPIcan now shareFBSDKShareVideocontent 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
sharePhotoContentcannot setpeopleIdsinFBSDKShareAPI. - Fixed
shareVideoContentto reject settingpeopleIdsandplaceId(unsupported in Graph API video endpoint) inFBSDKShareAPI.
Audience Network
Modified
- Improved
FBMediaViewperformance - entirely skip blurring image if the media view is already at or close to the ideal 1.9:1 ratio for cover images.
Fixed
- Resolved a rare race condition in interstitial impression logging when using
WebKitto render the interstitial (iOS 8 + 9 devices). - Fixed issues fetching the current view controller when multiple UIWindows are present or are not at window level
UIWindowLevelNormal. - Resolved linker errors by removing direct references to
AVFoundation,CoreMediaandCoreMotion, now they are lazily loaded at runtime.
v4.7.1 - October 26, 2015
Facebook SDK
No binary changes were made in this release.
Fixed
- Fixed issue with the login podspec.
v4.7.0 - October 7, 2015
Facebook SDK
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 the Graph API changelog for details.
- The completion results sent to the delegate of
GameRequestDialogwill now contain a key "to" with aNSArrayvalue containing the recipients. - Updated Bolts submodule to 1.3.0
- Annotated
FBSDKAccessTokeninitandnewasNS_UNAVAILABLE.
Fixed
- Fixed usage of
FBSDKApplicationDelegate application:didFinishLaunchingWithOptions:in SDK samples. - Fixed EXEC_BAD_ACCESS that could occur in
FBSDKLoginManagerusingFBSDKLoginBehaviorWeband 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.
MessengerShareKit
- Modified the alert message presented to user when the current Messenger version does not support the share.
Audience Network
Fixed
- Fixed issue with excessive memory consumption displaying banners, interstitials, or link ads on some devices
- Improved performance of banners and interstitials
- Fixed FBMediaView blur scaling on 3x devices
- Fixed refresh threshold error handling
v4.6.0 - September 10, 2015
Facebook SDK
Deprecated
- Several methods on
FBSDKLoginManagerandFBSDKAppInviteDialoghave been deprecated in favor of new overloads that take afromViewControllerparameter. 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
FBSDKLoginButtonselected 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
v4.5.1 - August 13, 2015
Facebook SDK
Fixed
- Fixed bug that could cause crashes when using ios7.
v4.5.0 - August 10, 2015
Facebook SDK
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.
MessengerShareKit
Added
- Added support for rendering static and animated image as sticker in Messenger.
Modified
- Deprecated
[FBSDKMessengerSharer messengerPlatformCapabilities]in preparation for iOS 9. Rather than checking what Messenger is available, simply send the content and the SDK will alert the user if they need to update Messenger.
Audience Network
Added
- Added video support for
FBMediaView.
Fixed
- Fixed interstitial orientation issue with iOS 7 devices.
- Fixed crash when using FBMediaView caused by using OpenGL in the background.
v4.4.0 - July 7, 2015
Facebook SDK
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.
v4.3.0 - June 25, 2015
Facebook SDK
Added
- Added graphNode property to FBSDKShareAPI.
Modified
- Shares through the integrated share sheet now get proper app attribution.
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.
MessengerShareKit
Fixed
- Fixed bug that truncated metadata containing ampersands or semicolons.
Audience Network
Modified
- Performance improvements for image fetching and native ad templates
v4.2.0 - May 28, 2015
Facebook SDK
Added
- Added optional FacebookSDKStrings.bundle to provide localized strings for international apps
Modified
- Update projects for Xcode 6.3
- FBSDKTestUsersManager now correctly pages through test user account results.
- Deprecated
FBSDKAppInviteContent.previewImageURL,FBSDKGameRequestContent.to,FBSDKGameRequestContent.suggestionsto avoid non public selector validation warnings - Removed
FBSDKShareAPI.createObjectsWithClientToken - Improves Facebook Analytics for Apps reporting
- Improved OAuth Login flow security
- Modified RPS sample app: added player gesture image to Open Graph share
- Modified Iconicus sample app: added ability for parse locked positions (from app link)
Fixed
- Fixed module map for FBSDKTestUsersManager
- Fixed landscape orientation for web view dialogs on iOS 7
- Fix bug that incorrectly tried to apply error recovery to client token requests
- Fixed bug preventing usage of fb:explicitly_shared for Open Graph actions.
FBSDKMessengerShareKit
Fixed
- Fail at compile time when trying to use Messenger SDK in an extension
- Renamed FBSDKMessengerUrlHandler.h to FBSDKMessengerURLHandler.h for case-sensitive file systems
Audience Network
Fixed
- Fixed failure at compile time when building against iOS 6
- Fixed issue where FBAdView had to have its frame explicitly set
- Fixed issue with FBNativeAdsManager where sometimes invalid ads were returned as valid
- Fixed selection style of cells created by FBNativeAdTableViewCellProvider
v4.1.0 - April 30, 2015
Facebook SDK
Added
- Added
[FBSDKAccessToken refreshCurrentAccessToken]to refresh current token. - Added
FBSDKTestUsersManagerto simplify writing tests with test users. - Added property
captiontoFBSDKSharePhoto. - Added property
messagetoFBSDKShareAPI.
Modified
FBSDKShareAPIwill 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 standardinitand set theappLinkURLproperty.
Fixed
- Fixed bug that prevented invoking login from app delegate lifecycle events.
- Fixed bug that prevented usage of
fb:explicitly_sharedfor 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.
FBSDKMessengerShareKit
- FBSDKMessengerShareKit is now available on GitHub (in the FBSDKMessegerShareKit folder in the
facebook-ios-sdkrepo) and Cocoapods (usepod 'FBSDKMessengerShareKit')
Fixed
- Fixed Messenger buttons to have clear background color.
Modified
- Removed
FBSDKMessengerURLHandlerCancelShareContext.h. UseFBSDKMessengerURLHandlerCancelContext.hinstead.
Audience Network
Added
FBNativeAdsManagerto to assist in the retrieval of batches of ads.FBNativeAdViewwhich provides configurable native ad viewsFBNativeAdScrollViewwhich provides a horizontal scrolling experience hosting eitherFBNativeAdView's or custom native ad views.- Helper views to assist in implementations of native ads:
FBAdChoicesView,FBMediaView,FBAdStarRatingView. - Helpers for using native ads within UITableView's.
Fixed
- Miscellaneous bug fixes
v4.0.1 - April 2nd, 2015
Facebook SDK
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
v4.0 - March 25, 2015
The Facebook SDK for iOS v4.0 is a major version upgrade. Please review Upgrading the iOS SDK from 3.x to 4.x.
- All classes are renamed or removed compared to v3.x, this changelog will describe semantic additions and removals.
- iOS 6 is no longer supported. The FacebookSDK for iOS v4.0 requires iOS 7 or higher.
Added
FBSDKCoreKit.framework- the framework providing common SDK classes, and APIs for app events, Graph API RequestsFBSDKProfile- a robust way to fetch 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
@deprecatedhave been removed. - Existing types have been renamed with a
FBSDKprefix instead ofFB. For example,FBAppEvents->FBSDKAppEvents. FB*DialogsandFB*DialogsParams. Use the appropriate strongly typed dialog and content model fromFBSDKShareKit.framework.FBAppCallis generally replaced byFBSDKApplicationDelegate. See the getting started guide.FBSDKRequest*is replaced byFBSDKGraphRequest*and automatically provides error recovery and simplier error classification. See the upgrade guide.FBSessionandFBAccessTokenDataare replaced byFBSDKLoginManager,FBSDKAccessToken. See the upgrade guide.
Removed
FBAppLinkData. UseBFURLfrom Bolts.framework.FBGraphObject. Use the appropriate Open Graph content model along withFBSDKShareAPIfromFBSDKShareKit.framework.FB*ViewControllerandFBCacheDescriptor. No alternative. Construct a table view and page the Graph API results manually.FBSDKTokenCachingStrategy. No alternative.FBSDKLoginManagercaches tokens to keychain automatically. You can observe token changes to do manual post processing (see[FBSDKAccessToken currentAccessToken]).