This guide covers breaking changes and required code updates across major and minor releases of the Facebook SDK for iOS. Work through the sections relevant to the version you are upgrading from.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/facebook/facebook-ios-sdk/llms.txt
Use this file to discover all available pages before exploring further.
Upgrading to v18.x
v18.0.3 — Anonymous deferral deeplink support (2026-02-10)
v18.0.3 — Anonymous deferral deeplink support (2026-02-10)
v18.0.2 — Fast app switching reintroduced (2025-11-13)
v18.0.2 — Fast app switching reintroduced (2025-11-13)
appSwitch to .disabled on LoginConfiguration as a workaround for missing fast app switching, you can now restore it to .enabled (the default):v18.0.1 — Link attachments with music (2025-08-17)
v18.0.1 — Link attachments with music (2025-08-17)
v18.0.0 — StoreKit 2 IAP event support (2025-01-10)
v18.0.0 — StoreKit 2 IAP event support (2025-01-10)
Upgrading to v17.x
v17.4.0 — Domain configuration validation (2024-10-17)
v17.4.0 — Domain configuration validation (2024-10-17)
v17.3.0 — Xcode 16 compatibility (2024-09-27)
v17.3.0 — Xcode 16 compatibility (2024-09-27)
AppLinkNavigation API changed from returning results synchronously to passing them through an async completion handler:v17.1.0 — ShareDialog photo ordering fix (2024-09-02)
v17.1.0 — ShareDialog photo ordering fix (2024-09-02)
v17.0.0 — Privacy manifests added (2024-02-16)
v17.0.0 — Privacy manifests added (2024-02-16)
Upgrading from v15.x to v16.x
v16.0.0 — AEM Auto Setup (2023-02-02)
v16.0.0 — AEM Auto Setup (2023-02-02)
Upgrading from v14.x to v15.x
v15.0.0 — Minimum OS version and bitcode removal (2022-09-19)
v15.0.0 — Minimum OS version and bitcode removal (2022-09-19)
v15.1.0 — API renames and deprecations (2022-10-24)
v15.1.0 — API renames and deprecations (2022-10-24)
| Old API | New API |
|---|---|
Settings.autoLogAppEventsEnabled | Settings.shared.isAutoLogAppEventsEnabled |
Settings.advertiserIDCollectionEnabled | Settings.shared.isAdvertiserIDCollectionEnabled |
Settings.advertiserTrackingEnabled | Settings.shared.isAdvertiserTrackingEnabled |
SettingsProtocol.codelessDebugLogEnabled | SettingsProtocol.isCodelessDebugLogEnabled |
SettingsProtocol.graphAPIDebugParamValue | SettingsProtocol.graphAPIDebugParameterValue |
AppLinkNavigation.Type (enum type) | AppLinkNavigationType |
Profile.enableUpdatesOnAccessTokenChange(_:) | Profile.isUpdatedWithAccessTokenChange |
Profile conformance to NSCopying has been removed, along with custom hashability and equatability.Upgrading from v13.x to v14.x
v14.0.0 — Breaking API removals (2022-06-03)
v14.0.0 — Breaking API removals (2022-06-03)
LoginConfiguration.authType(for:)— use theauthTypeparameter on the initializer directly.
AEMReporter.configure(networker:appID:)— AEM configuration is now automatic.- Several
ContextDialogPresentermethods — use the updated presenter APIs instead.
token, authenticationToken, isCancelled, grantedPermissions, and declinedPermissions properties are now read-only. If you were mutating these values, you must refactor your code.AccessToken and AuthenticationToken current properties renamed in Swift:AccessToken.currentAccessToken→AccessToken.currentAuthenticationToken.currentAuthenticationToken→AuthenticationToken.current
Upgrading from v12.x to v13.x
v13.0.0 — Swift rewrite, client tokens required, iOS 11 minimum (2022-01-01)
v13.0.0 — Swift rewrite, client tokens required, iOS 11 minimum (2022-01-01)
Client tokens are now required
Graph API calls will throw an exception if a client token is not configured. Add your client token toInfo.plist:Minimum iOS version is now 11.0
Raise your deployment target to iOS 11 or higher.Swift rewrite — @import required in Objective-C
A number of types inFBSDKShareKit and FBSDKGamingServicesKit were rewritten from Objective-C to Swift. When you use these types from Objective-C, you may encounter “unknown type” compilation errors if you continue to use the traditional #import syntax.Switch to the modular @import syntax for any affected framework:FBSDKGamingServicesKit. The FBSDKCoreKit and FBSDKLoginKit headers continue to work with #import for most symbols, but you may need @import for specific Swift-converted types.AppEvents — instance methods required
All class-levelAppEvents methods and properties are removed. Use AppEvents.shared instead:Settings — instance methods required
All class-levelSettings methods and properties are removed. Use Settings.shared:GameRequest types moved to GamingServicesKit
The following types moved fromFBSDKShareKit to FBSDKGamingServicesKit:GameRequestActionTypeGameRequestContentGameRequestDialogGameRequestDialogDelegateGameRequestFilterGameRequestFrictionlessRecipientCacheGameRequestURLProvider
@import FBSDKGamingServicesKit; (Objective-C) or import FacebookGamingServices (Swift) if you use any of these types.App event parameter names require formal types in Swift
In Swift,AppEvents.logEvent now requires AppEvents.Name and AppEvents.ParameterName types: