Changelog and release notes for the Facebook SDK for iOS.
For the changelogs for 5.0.0 and later, see facebook/facebook-objc-sdkCHANGELOG.md on GitHub.
_inBackground
for app events[FBSDKAppEvents clearUserID];
title
, description
, caption
and image
field of FBSDKShareLinkContent
have been deprecated. Please take appropriate action to remove usage of them. [FBSDKAppEvents activateApp]
is now called during SDK initialization. No need to call activateApp in codeFBSDKLoginButton
. See upgrade guide for more detailsFBMediaView
, to provide a hint for publishers who want to adjust their app layout in response to the dimensions of the contents of the view. This will allow publishers to do things like adapting the height of an ad cell in a feed, or showing a specialized layout for portrait video ads. The aspect ratio is width/height and is greater than or equal to 0.0. applyNaturalWidth
and applyNaturalHeight
which change the width or height based on current FBMediaView
's dimension, respecting aspectRatio
property. Check Native Ads developer document for more information about how to use these new APIs. setMediaViewRenderingMethod
to FBAdSetting
to configure the rendering method for FBMediaView
. The available rendering methods are FBMediaViewRenderingMethodDefault
, FBMediaViewRenderingMethodMetal
, FBMediaViewRenderingMethodOpenGL
, and FBMediaViewRenderingMethodSoftware
. adViewDidClick
callback method of FBInstreamAdViewDelegate
is not called. setUserID:
and updateUserProperties:
to FBSDKAppEvents
. See here for more details.application:openURL:options:
to FBSDKApplicationDelegate
to iOS 10.FBSDKLoginManager
callbacks.FBSDKLoginManager
was prematurely deallocated.nativeAdDidClick:
not being called on FBNativeAdDelegate
UIImagePickerController
reference causing App Store rejectionsFBSDKSettings setGraphAPIVersion:
to allow global setting of different Graph API versions.FBInstreamAdView
to support instream ad placementsautoplayEnabled
setter on FBMediaView
in favor of server-side controlsPHAsset
in the FnF video player library that may cause App Store static analysis to failFBSDKAppEventsUtility fetchDeferredAppInvite:
.FBSDKAppGroupAddDialog
and FBSDKAddGroupJoinDialog
interfaces.NSURLSession
instead of NSURLConnection
for making Graph API requests since NSURLConnection
.FBSDKLoginButton
.FBSDKShareAPI
whereas previously the SDK would return the photo album post ID.SKStoreProductViewController
to allow all orientations except upside downFBAdEnvironmentData
FBAdConfigManager
timing issues causing FNF / AVFoundation mixed object crashesFBAdConfigManager
in valid situationsviewControllerDidCancel
delegate method is called when the user presses Cancel
UIActionSheet
with UIAlertController
SKStoreProductViewController
with more reliable loads and automatic timeoutFBAdConfig
that caused AVFoundation
and FNF*
objects to be used together, causing "unknown selector" crashes"objc_arc"
flag from modulemapviewControllerForLoginResume
[FBSDKShareAPI.accessToken]
to allow changing the access token used for sharing (pull request 826)-[FBSDKAppEvents logPushNotification*]
and -[FBSDKAppEvents setPushNotificationsDeviceToken:]
. See push campaigns docs for more details.-[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.-[FBSDKProfile loadCurrentProfileWithCompletion:]
FBSDKHashTag
and FBSDKShareMediaContent
to support sharing hash tags and mixed content (e.g., photos and videos). See sharing docs for details.FBSDKShareLinkContent.quote
to support sharing quotes from a link.FBSDKShareVideo.previewPhoto
to provide a photo to represent the video.FBSDKWebDialog
(fixed the border alignment).FBMediaView
.SFSafariViewController
not dispatching dismissed events.FBNativeAdTableViewCellProvider
native ad registration issue.FBAdURLSession
.NSString
conversion.FBAdCache
when image URLs are invalid.[NSString containsString:]
use in iOS 7.FBSDKLikeControl
social sentence to respect locale.FBSDKAppEvents
that not send attribution in some cases.FBSDKLoginButton
delegate to receive loginButtonWillLogin:
only at button login.FBSDKAppEvents
that would not sent events if activateApp was sent from a background thread.FBSDKLoginButton
regarding default height (GitHub pull request #804: @revolter).StoreKit
dependency.NSURLSession
.AVPlayer/AVPlayerItem
performance, minor performance gains with video scrollingCGColorGetComponents
WKWebView
rendering errorsFBNativeAdView
never loading contents when used standaloneFBSDKShareAPI
can now share FBSDKShareVideo
content initialized with file URLs.sharePhotoContent
cannot set peopleIds
in FBSDKShareAPI
.shareVideoContent
to reject setting peopleIds
and placeId
(unsupported in Graph API video endpoint) in FBSDKShareAPI
.FBMediaView
performance - entirely skip blurring image if the media view is already at or close to the ideal 1.9:1 ratio for cover images.WebKit
to render the interstitial (iOS 8 + 9 devices).UIWindowLevelNormal
.AVFoundation
, CoreMedia
and CoreMotion
, now they are lazily loaded at runtime.No binary changes were made in this release.
[FBSDKProfile imagePathForPictureMode]
. Added [FBSDKProfile imageURLForPictureMode]
instead.[+FBSDKRequestConnection setDefaultConnectionTimeout:]
to allow setting of default timeout value for all requests.GameRequestDialog
will now contain a key "to" with a NSArray
value containing the recipients.FBSDKAccessToken
init
and new
as NS_UNAVAILABLE
.FBSDKApplicationDelegate application:didFinishLaunchingWithOptions:
in SDK samples.FBSDKLoginManager
using FBSDKLoginBehaviorWeb
and the login is cancelled.FBSDKLoginBehavior
.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.[FBSDKLoginButtonDelegate loginButtonWillLogin:]
.FBSDKLoginButton
selected style.[FBSDKMessengerSharer messengerPlatformCapabilities]
FBMediaView
[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.FBMediaView
.FBSDKAppInviteContent.previewImageURL
, FBSDKGameRequestContent.to
, FBSDKGameRequestContent.suggestions
to avoid non public selector validation warningsFBSDKShareAPI.createObjectsWithClientToken
[FBSDKAccessToken refreshCurrentAccessToken]
to refresh current token.FBSDKTestUsersManager
to simplify writing tests with test users.caption
to FBSDKSharePhoto
.message
to FBSDKShareAPI
.FBSDKShareAPI
will now warn about missing "publish_actions" in the console rather than throwing an exception immediately.FBSDKAppInviteContent initWithAppLinkURL:
. Use the standard init
and set the appLinkURL
property.fb:explicitly_shared
for Open Graph actions.FBSDKGraphRequestConnection
's delegate from receiving the 'requestConnectionDidFinishLoading:' message.facebook-ios-sdk
repo) and Cocoapods (use pod 'FBSDKMessengerShareKit'
)FBSDKMessengerURLHandlerCancelShareContext.h
. Use FBSDKMessengerURLHandlerCancelContext.h
instead.FBNativeAdsManager
to to assist in the retrieval of batches of ads.FBNativeAdView
which provides configurable native ad viewsFBNativeAdScrollView
which provides a horizontal scrolling experience hosting either FBNativeAdView
's or custom native ad views.FBAdChoicesView
, FBMediaView
, FBAdStarRatingView
.The Facebook SDK for iOS v4.0 is a major version upgrade. Please review Upgrading the iOS SDK from 3.x to 4.x.
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@deprecated
have been removed.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.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]
).