iOS 14 SDK Upgrade Guide
This guide describes Braze-related changes introduced in iOS 14 and the required upgrade steps for your Braze iOS SDK integration.
For a complete list of new iOS 14 updates, see Apple’s iOS 14 Page.
Apple recently announced a delay to the upcoming iOS 14 IDFA changes. Until Apple begins to enforce this - sometime in 2021 - your app can continue to collect the IDFA identifier without prompting users for permission.
Summary of iOS 14 breaking changes
- Apps targeting iOS 14 / Xcode 12 must use our official iOS 14 release.
- Geofences are no longer supported by iOS for users who choose the new approximate location permission.
- Use of the “Last Known Location” targeting features will require an upgrade to Braze iOS SDK v3.26.1+ for compatibility with approximate location permission. Note that if you are using XCode 12, you will need to upgrade to at least v3.27.0.
- IDFA collection will soon require a permission prompt. Once Apple begins to enforce this change later in 2021, apps must update to use the new AppTrackingTransparency Framework.
- If you use the “Ad Tracking Enabled” field for campaign targeting or analytics, you will need to upgrade to Xcode 12 and use the new AppTrackingTransparency framework to report end users’ opt-in status.
|If Your App Uses:||Upgrade Recommendation||Description|
|Xcode 12||Upgrade to iOS SDK v3.27 or above||Customers using Xcode 12 must use v3.27.0+ for compatibility. If you experience any issues or questions related to our iOS 14 compatibility, please open a new Github Issue.|
|Most Recent Location||Upgrade to iOS SDK v3.26.1 or above||If you use the Most Recent Location targeting feature and are still using XCode 11, you should upgrade to at least iOS SDK v3.26.1 which supports the new Approximate Location feature. Older SDKs will not be able to reliably collect location when a user upgrades to iOS 14 and choose Approximate Location.
Even though your app might not target iOS 14, your end users may upgrade to iOS 14 and begin to use the new location accuracy option. Apps that do not upgrade to iOS SDK v3.26.1+ will not be able to reliably collect location attributes when users provide their approximate location on iOS 14 devices.
|IDFA Ad Tracking ID||Upgrade to Xcode 12 and iOS SDK v3.27 may be required||Sometime in 2021, Apple will begin to require a permission prompt for the collection of the IDFA. At that time, apps must upgrade to Xcode 12 and use the new
Apps that do not use the new iOS 14 APIs will be unable to collect IDFA, and will instead collect a blank ID (
iOS 14 Behavior Changes
Approximate Location Permission
When requesting location permission, users will now have a choice to provide their precise location (previous behavior), or the new approximate location. Approximate location will return a larger radius in which the user is located, instead of their exact coordinates.
Geofences are no longer supported by iOS for users who choose the new approximate location permission. While no updates are required for your Braze SDK integration, you may need to adjust your location-based marketing strategy for campaigns that rely on geofences.
To continue to collect users’ last known location when approximate location is granted, your app will need to upgrade to at least v3.26.1 of the Braze iOS SDK. Keep in mind that the location will be less precise, and based on our testing has been upwards of 12,000 meters (7+ miles). When using the last known location targeting options in the Braze Dashboard, be sure to increase the location’s radius to account for new approximate locations (we recommend at least a 1 mile/1.6km radius).
Apps that do not upgrade their Braze iOS SDK to at least v3.26.1 will no longer be able to use location tracking when approximate location is granted on iOS 14 devices.
Users who have already granted location access will continue to provide precise location after upgrading.
Note that if you are using XCode 12, you will need to upgrade to at least v3.27.0.
For more information on Approximate Location, see Apple’s What’s New In Location WWDC Video.
IDFA and App Tracking Transparency
IDFA (Identifier for Advertisers) is an identifier provided by Apple for use with advertising and attribution partners for cross-device tracking and is tied to an individual’s Apple ID.
Later in 2021, iOS 14 will require a new permission prompt (launched by the new
AppTrackingTransparency framework) to get explicit user consent to access the IDFA. This permission prompt to “track you across apps and websites owned by other companies” will be requested similarly to how you’d prompt users to request their location.
If a user does not accept the prompt, or if you do not upgrade to Xcode 12’s
AppTrackingTransparency framework, then a blank IDFA value (
00000000-0000-0000-0000-000000000000) will be returned, and your app will not be allowed to prompt the user again.
These IDFA updates will take effect once end-users upgrade their device to a future iOS 14 upgrade in 2021. Once Apple announces their plans to enforce this change, please ensure your app is using the new
AppTransparencyFramework and Xcode 12 when that future release occurs.
Changes to Braze IDFA collection
Braze will continue to allow apps to provide a user’s IDFA value to the Braze SDK
ABK_ENABLE_IDFA_COLLECTIONcompilation macro, which would conditionally compile in optional automatic IDFA collection, will no longer function in iOS 14 and has been removed in 3.27.0.
If you use the “Ad Tracking Enabled” field for campaign targeting or analytics, you will need to upgrade to Xcode 12 and use the new AppTrackingTransparency framework to report end users’ opt-in status. The reason for this change is that in iOS 14, the old
advertisingTrackingEnabledfield will always return No.
If your app has used IDFA or IDFV as your Braze External ID, we strongly recommend migrating away from these identifiers in favor of a UUID. For more information on migrating External IDs, see our new External ID Migration API Endpoint.
No changes to Provisional Push Authorization are included in iOS 14. In an earlier beta version of iOS 14, Apple introduced a change which has since been reverted back to prior behavior.
iOS 14 New Features
App Privacy and Data Collection Overview
The App Store’s new App Privacy feature will disclose to users what personal information an app collects and how it may track users across other apps and websites. Apple has stated, “Privacy information on the App Store will be coming in an iOS 14 update later this year”.
Braze will continue to monitor this new feature announcement to help you understand how your usage of Braze may be disclosed in the App Privacy summary.
To learn more about this feature, see Apple’s Privacy and Data Use.
An App clip is a small part of your app that can be quickly accessed without installation by visiting a URL or scanning a QR code.
This feature gives users quicker access to sample your app, with an opportunity to either upgrade to the full app experience or auto-delete after a period of inactivity.
To learn more about App Clips, see Apple’s App Clip Documentation
For customers interested in using Braze within App Clips, please contact your Braze Success Team or Support Team.
We will be releasing support and documentation in the near future.