Changelog History
Page 1
-
v15.1.0 Changes
๐ Changed
- The enum
AppLinkNavigation.Type
type has been renamed tpAppLinkNavigationType
. - The initializer
init(appLink:extras:appLinkData:settings:)
inAppLinkNavigation
ignores thesettings
argument if one is passed. - The method
navigation(with:extras:appLinkData:settings:)
inAppLinkNavigation
ignores thesettings
argument if one is passed.
๐ Deprecated
- ๐ The
navigation(with:extras:appLinkData:settings:)
method inAppLinkNavigation
is deprecated in favor of theinit(appLink:extras:appLinkData:)
designated init. - ๐ The
init(appLink:extras:appLinkData:settings:)
initializer inAppLinkNavigation
is deprecated in favor of theinit(appLink:extras:appLinkData:)
designated init. - โก๏ธ The
Profile.enableUpdatesOnAccessTokenChange(_:)
method is deprecated in favor of theProfile.isUpdatedWithAccessTokenChange
property. - ๐
SettingsProtocol.codelessDebugLogEnabled
is deprecated in favor ofSettingsProtocol.isCodelessDebugLogEnabled
. - ๐
SettingsProtocol.advertiserIDCollectionEnabled
is deprecated in favor ofSettingsProtocol.isAdvertiserIDCollectionEnabled
. - ๐
SettingsProtocol.advertiserTrackingEnabled
is deprecated in favor ofSettingsProtocol.isAdvertiserTrackingEnabled
. - ๐
SettingsProtocol.graphAPIDebugParamValue
is deprecated in favor of its new nameSettingsProtocol.graphAPIDebugParameterValue
- ๐
Settings.autoLogAppEventsEnabled
is deprecated in favor ofSettings.isAutoLogAppEventsEnabled
.
๐ Renamed
SettingsProtocol.graphAPIDebugParamValue
has been renamed toSettingsProtocol.graphAPIDebugParameterValue
โ Removed
- ๐
Profile
conformance toNSCopying
has been removed as well as custom hashability and equatability.
๐ Fixed
- ๐ The documentation for the property list-backed value
Settings.isCodelessDebugLogEnabled
has been corrected to indicate that the default value isfalse
.
๐ 2022-10-24 | Full Changelog
- The enum
-
v15.0.0 Changes
๐ Changed
- ๐ The minimum supported version of iOS and tvOS is now 12.0.
๐ Deprecated
- ๐ Support for tvOS is now deprecated and will be removed in Version 16.
โ Removed
- ๐ Support for bitcode. Bitcode is no longer needed or supported by Apple as of Xcode 14 - https://developer.apple.com/documentation/xcode-release-notes/xcode-14-release-notes
๐ Improved
- Binary artifact sizes are now smaller.
๐ 2022-09-19 | Full Changelog
-
v14.1.0 Changes
๐ Fixed
- ๐ Fixed GitHub Issue #2082.
โ Added
- โ Added server-side AEM rule matching
๐ 2022-06-28 | Full Changelog
-
v14.0.0 Changes
โ Removed
- โ Removed deprecated
AEMReporter.configure(networker:appID:)
method. - โ Removed deprecated
ContextDialogPresenter.showCreateContextDialog(withContent:delegate:)
method. - โ Removed deprecated
ContextDialogPresenter.showSwitchContextDialog(withContent:delegate:)
method. - โ Removed deprecated
ContextDialogPresenter.showChooseContextDialog(withContent:delegate:)
method. - โ Removed deprecated
ContextDialogPresenter.showChooseContextDialog(with:delegate:)
method. - โ Removed deprecated
ContextDialogPresenter.createContextDialog(withContent:delegate:)
method. - โ Removed deprecated
ContextDialogPresenter.switchContextDialog(withContent:delegate:)
method. - โ Removed deprecated
SwitchContextDialog.dialog(content:windowFinder:delegate:)
method. - โ Removed deprecated
LoginConfiguration.authType(for:)
method. - โ Removed internal
AuthenticationTokenSettings
protocol.
๐ Changed
- Made
LoginManagerLoginResult.token
immutable. - Made
LoginManagerLoginResult.authenticationToken
immutable. - Made
LoginManagerLoginResult.isCancelled
immutable. - Made
LoginManagerLoginResult.grantedPermissions
immutable. - Made
LoginManagerLoginResult.declinedPermissions
immutable. - Made
AccessToken.currentAccessToken
use a Swift name ofcurrent
. - Made
AuthenticationToken.currentAuthenticationToken
use a Swift name ofcurrent
. - ๐ Renamed
SharingValidation
protocol toSharingValidatable
. - Corrected type definition for
FBSDKUserIdentifier
to beNSString *
instead ofNSString
for Swift compatibility.
๐ 2022-06-03 | Full Changelog
- โ Removed deprecated
-
v13.2.0 Changes
๐ Fixed
- ๐ Fixed an issue in native sharing where hashtags are not automatically added to a post.
๐ 2022-04-15 | Full Changelog
-
v13.1.0 Changes
๐ 2022-03-14 | Full Changelog
Notable Changes
โ Added an API to support deep linking using Universal Links
In order to ensure that your app properly supports deep linking from app ads with Universal Links, you will need to implement
application(_:continue:restorationHandler:)
in your App Delegate, and callApplicationDelegate.shared.application(_:continue:)
from your implementation. Your change might look like the following snippet:func application( _ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void ) -> Bool { ApplicationDelegate.shared.application(application, continue: userActivity) // Rest of implementation... return true }
If your app is opted into Scenes, then you will also need to add the following code in your Scene Delegate implementation, in
scene(_:willConnectTo:options:)
:func scene( _ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions ) { if let userActivity = connectionOptions.userActivities.first { ApplicationDelegate.shared.application(UIApplication.shared, continue: userActivity) } // Rest of implementation... }
-
v13.0.0 Changes
Notable Changes
๐ Supported platform versions have been updated
๐ The minimum supported version of iOS is now 11.0 for all frameworks. The minimum supported version of tvOS is now 11.0 for all frameworks. The XCFramework binaries are now built with Xcode 13 so Xcode 12 is no longer supported.
Client Tokens are now required
๐ Starting with the v13.0 release, client tokens must be included in apps for Graph API calls. An exception is now raised when running apps without a client token. See the instructions for more information.
Swift conversions
A number of types have been converted from Objective-C to Swift. As a consequence, developers may need to use modular import statements when using GamingServicesKit and a majority of ShareKit in order to avoid encountering compilation errors in Objective-C.
// When importing a framework in this form: #import <FBSDKShareKit/FBSDKShareKit.h> // You may be need to update to this form when unknown symbol warnings appear: @import FBSDKShareKit;
โฌ๏ธ Reduced use of Objective-C value-type practices
We have further reduced the use of Objective-C value-type practices in ShareKit. ShareKit content types will no longer implement the following behaviors:
- conformance to the
NSCopying
protocol - custom hashability and equatability
- conformance to
NSSecureCoding
โ Additional strong typing of app event reporting methods
More app event reporting interfaces now use formal app event names and parameter names. Developers working in Swift code are required to use
AppEvents.Name
andAppEvents.ParameterName
instances to represent app event names and app event parameter names, respectively.The example below works without changes in Objective-C:
NSDictionary<NSString *, id> *parameters = @{ FBSDKAppEventParameterNameNumItems: @5, @"custom_parameter": @"special info" }; [FBSDKAppEvents logEvent:FBSDKAppEventNamePurchased parameters:parameters];
โก๏ธ This next example is how it would look in Swift for an updated API:
let parameters: [AppEvents.ParameterName: Any] = [ .numItems: 5, .init("custom_parameter"): "special info" ] AppEvents.logEvent(.purchased, parameters: parameters)
๐ Changed
- ๐ Renamed
frictionlessRequestsEnabled
property onGameRequestDialog
in Objective-C; useisFrictionlessRequestsEnabled
andsetIsFrictionlessRequestsEnabled:
instead. - Corrected nullability of
contentURL
in protocolSharingContent
- ๐ Renamed
AppInviteDestination
toAppInviteContent.Destination
- ๐ Renamed
userGenerated
property onSharePhoto
in Objective-C; useisUserGenerated
andsetIsUserGenerated:
instead.
๐ Deprecated
- ๐ Deprecated the
FacebookGamingServices
CocoaPod; please use theFBSDKGamingServicesKit
pod instead. SPM users should continue to useFacebookGamingServices
.
๐ Moved
๐ A few types have been moved from FBSDKShareKit to FBSDKGamingServicesKit. If you were using any of these you will have to add
@import FBSDKGamingServicesKit
in order to access these:- GameRequestActionType
- GameRequestContent
- GameRequestDialog
- GameRequestDialogDelegate
- GameRequestFilter
- GameRequestFrictionlessRecipientCache
- GameRequestURLProvider
โ Removed
- โ Removed
NSObjectProtocol
conformance/inheritance from multiple types in ShareKit. - โ Removed deprecated
SDKError
type;ErrorFactory
and/orNetworkErrorChecker
should be used instead. - โ Removed deprecated
ReferralCode
,ReferralManager
,ReferralManagerResult
and related classes. - โ Removed unused
AppGroupContent
class,AppGroupPrivacy
enum andNSStringFromFBSDKAppGroupPrivacy
function. - โ Removed
SharingScheme
protocol from ShareKit - โ Removed deprecated
logInWithURL:handler
fromLoginManager
- โ Removed deprecated
init
andnew
methods fromAppInviteContent
- โ Removed deprecated
AppLinkResolverRequestBuilder
- โ Removed deprecated URL schemes
.facebookApp
,.facebookShareExtension
and.masqueradePlayer
; use.facebookAPI
instead. - โ Removed deprecated
init
andnew
methods fromCrashHandler
- โ Removed
init
andnew
methods fromMessageDialog
; useinit(content:delegate:)
instead. - โ Removed deprecated
init
andnew
methods fromLogger
- โ Removed deprecated
init
andnew
methods fromFBSDKURLSession
- โ Removed
init
andnew
methods fromShareDialog
; useinit(viewController:content:delegate:)
instead. - โ Removed
init
andnew
fromShareCameraEffectContent
; useinit(effectID:contentURL:)
instead. - โ Removed deprecated
init(appLink:extras:appLinkData:)
fromAppLinkNavigation
; useinit(appLink:extras:appLinkData:settings:)
instead". - โ Removed class-based factory methods for
SharePhoto
: ๐+photoWithImage:userGenerated:
,+photoWithImageURL:userGenerated:
,+photoWithPhotoAsset:userGenerated:
. Also removedinit
andnew
; use the new convenience initializers instead. - โ Removed class-based factory methods for
ShareVideo
:+videoWithData:
,+videoWithData:previewPhoto:
,+videoWithVideoAsset:
,+videoWithVideoAsset:previewPhoto:
,+videoWithVideoURL:
,+videoWithVideoURL:previewPhoto:
. Also removedinit
andnew
; use the new convenience initializers instead. - โ Removed
videoURL
property fromPHAsset
. - โ Removed
isEqualToHashtag:
andhashtagWithString:
methods from Hashtag. UseisEqual:
andinitWithString:
instead.
๐ AppEvents deprecations
๐ Use
AppEvents.shared
in places whereAppEvents
was used before. (Many class methods and properties in AppEvents have been deprecated in favor of their instance-based equivalents.)- โ Removed deprecated
AppEvents.flushBehavior
(useAppEvents.shared.flushBehavior
instead) - โ Removed deprecated
AppEvents.loggingOverrideAppID
(useAppEvents.shared.loggingOverrideAppID
instead) - โ Removed deprecated
AppEvents.userID
(useAppEvents.shared.userID
instead) - โ Removed deprecated
AppEvents.anonymousID
(useAppEvents.shared.anonymousID
instead) - Removed deprecated
AppEvents.logEvent(_:)
(useAppEvents.shared.logEvent(_:)
instead) - Removed deprecated
AppEvents.logEvent(_:valueToSum:)
(useAppEvents.shared.logEvent(_:valueToSum:)
instead) - Removed deprecated
AppEvents.logEvent(_:parameters:)
(useAppEvents.shared.logEvent(_:parameters:)
instead) - Removed deprecated
AppEvents.logEvent(_:valueToSum:parameters:)
(useAppEvents.shared.logEvent(_:valueToSum:parameters:)
instead) - Removed deprecated
AppEvents.logEvent(_:valueToSum:parameters:accessToken:)
(useAppEvents.shared.logEvent(_:valueToSum:parameters:accessToken:)
instead) - โ Removed deprecated
AppEvents.logPurchase(_:currency:)
(useAppEvents.shared.logPurchase(amount:currency:)
instead) - โ Removed deprecated
AppEvents.logPurchase(_:currency:parameters:)
(useAppEvents.shared.logPurchase(amount:currency:parameters:)
instead) - โ Removed deprecated
AppEvents.logPurchase(_:currency:parameters:accessToken:)
(useAppEvents.shared.logPurchase(amount:currency:parameters:accessToken:)
instead) - โ Removed deprecated
AppEvents.logPushNotificationOpen(_:)
(useAppEvents.shared.logPushNotificationOpen(payload:)
instead) - โ Removed deprecated
AppEvents.logPushNotificationOpen(_:action:)
(useAppEvents.shared.logPushNotificationOpen(payload:action:)
instead) - โ Removed deprecated
AppEvents.logProductItem(_:availability:condition:description:imageLink:link:title:priceAmount:currency:gtin:mpn:brand:parameters:)
(useAppEvents.shared.logProductItem(id:availability:condition:description:imageLink:link:title:priceAmount:currency:gtin:mpn:brand:parameters:)
instead) - Removed deprecated
AppEvents.setPushNotificationsDeviceToken(_:)
(useAppEvents.shared.setPushNotificationsDeviceToken(_:)
instead) - Removed deprecated
AppEvents.setPushNotificationsDeviceToken(_:)
(useAppEvents.shared.setPushNotificationsDeviceToken(_:)
instead) - โ Removed deprecated
AppEvents.flush()
(useAppEvents.shared.flush()
instead) - โ Removed deprecated
AppEvents.requestForCustomAudienceThirdPartyID(with:)
(useAppEvents.shared.requestForCustomAudienceThirdPartyID(accessToken:)
instead) - โ Removed deprecated
AppEvents.clearUserID
is deprecated and will be removed in the next major release, please setAppEvents.shared.userID
tonil
instead) - Removed deprecated
AppEvents.augmentHybridWKWebView(_:)
(useAppEvents.shared.augmentHybridWebView(_:)
instead) - Removed deprecated
AppEvents.setIsUnityInit(_:)
(useAppEvents.shared.setIsUnityInitialized(_:)
instead) - โ Removed deprecated
AppEvents.sendEventBindingsToUnity()
(useAppEvents.shared.sendEventBindingsToUnity()
instead) - โ Removed deprecated
AppEvents.setUser(email:firstName:lastName:phone:dateOfBirth:gender:city:state:zip:country:)
(useAppEvents.shared.setUser(email:firstName:lastName:phone:dateOfBirth:gender:city:state:zip:country:)
instead) - โ Removed deprecated
AppEvents.clearUserData()
(useAppEvents.shared.clearUserData()
instead) - โ Removed deprecated
AppEvents.getUserData()
(useAppEvents.shared.getUserData()
instead) - Removed deprecated
AppEvents.setUserData(_:forType:)
(useAppEvents.shared.setUserData(_:forType:)
instead) - Removed deprecated
AppEvents.clearUserDataForType(_:)
(useAppEvents.shared.clearUserDataForType(_:)
instead)
๐ Settings deprecations
๐ Use
Settings.shared
in places whereSettings
was used before. (Many class methods and properties in FBSDKSettings have been deprecated in favor of their instance-based equivalents.)- โ Removed deprecated
Settings.sdkVersion
(useSettings.shared.sdkVersion
instead") - โ Removed deprecated
Settings.defaultGraphAPIVersion
(useSettings.shared.defaultGraphAPIVersion
instead") - โ Removed deprecated
Settings.JPEGCompressionQuality
(useSettings.shared.JPEGCompressionQuality
instead") - โ Removed deprecated
Settings.isAutoLogAppEventsEnabled
(useSettings.shared.isAutoLogAppEventsEnabled
instead") - โ Removed deprecated
Settings.isCodelessDebugLogEnabled
(useSettings.shared.isCodelessDebugLogEnabled
instead") - โ Removed deprecated
Settings.isAdvertiserIDCollectionEnabled
(useSettings.shared.isAdvertiserIDCollectionEnabled
instead") - โ Removed deprecated
Settings.isSKAdNetworkReportEnabled
(useSettings.shared.isSKAdNetworkReportEnabled
instead") - โ Removed deprecated
Settings.shouldLimitEventAndDataUsage
(useSettings.shared.isEventDataUsageLimited
instead") - โ Removed deprecated
Settings.shouldUseCachedValuesForExpensiveMetadata
(useSettings.shared.shouldUseCachedValuesForExpensiveMetadata
instead") - โ Removed deprecated
Settings.isGraphErrorRecoveryEnabled
(useSettings.shared.isGraphErrorRecoveryEnabled
instead") - โ Removed deprecated
Settings.appID
(useSettings.shared.appID
instead") - โ Removed deprecated
Settings.appURLSchemeSuffix
(useSettings.shared.appURLSchemeSuffix
instead") - โ Removed deprecated
Settings.clientToken
(useSettings.shared.clientToken
instead") - โ Removed deprecated
Settings.displayName
(useSettings.shared.displayName
instead") - โ Removed deprecated
Settings.facebookDomainPart
(useSettings.shared.facebookDomainPart
instead") - โ Removed deprecated
Settings.loggingBehaviors
(useSettings.shared.loggingBehaviors
instead") - โ Removed deprecated
Settings.graphAPIVersion
(use theSettings.shared.graphAPIVersion
property instead") - โ Removed deprecated
Settings.isAdvertiserTrackingEnabled()
(use theSettings.shared.isAdvertiserTrackingEnabled
property instead") - โ Removed deprecated
Settings.setAdvertiserTrackingEnabled(_:)
(use theSettings.shared.isAdvertiserTrackingEnabled
property to set a value instead") - Removed deprecated
Settings.setDataProcessingOptions(_:)
(use theSettings.shared.setDataProcessingOptions(_:)
method to set the data processing options instead") - Removed deprecated
Settings.setDataProcessingOptions(_:_:_:)
(use theSettings.shared.setDataProcessingOptions(_:_:_:)
method to set the data processing options instead") - โ Removed deprecated
Settings.enableLoggingBehavior()
(useSettings.shared.enableLoggingBehavior()
instead") - โ Removed deprecated
Settings.disableLoggingBehavior()
(useSettings.shared.disableLoggingBehavior()
instead")
๐ 2022-02-15 | Full Changelog
- conformance to the
-
v12.3.2 Changes
๐ This release contains various fixes for FBAEMKit
๐ Fixed
- Fetched AEM config after AEM URL is received
- โ Added delay between AEM conversion requests
- ๐ Moved Catalog Matching logic behind GK
๐ 2022-02-07 | Full Changelog
-
v12.3.1 Changes
๐ Fixed
- ๐ Fixed missing
defaultComponents
accessor forCoreKitComponents
. Fixes issue #2010.
๐ 2022-01-19 | Full Changelog
- ๐ Fixed missing
-
v12.3.0 Changes
โ Added
- โ Added network error checking protocol (
NetworkErrorChecking
) and concrete implementation (NetworkErrorChecker
) - โ Added error factory protocol (
ErrorCreating
) and concrete implementation (ErrorFactory
)
โ Removed
- โ Removed
configureWithWebViewProvider:urlOpener:
fromFBSDKWebDialogView
๐ Deprecated
- ๐
SDKError
has been deprecated in favor of the newErrorFactory
andNetworkErrorChecker
types - ๐
NSStringFromFBSDKShareDialogMode()
has been deprecated in favor ofShareDialog.Mode.description
๐ 2022-01-06 | Full Changelog
- โ Added network error checking protocol (