braze-swift-sdk

12.0.0

Braze SDK for the Apple ecosystem, including: iOS, macOS, iPadOS, visionOS, tvOS
braze-inc/braze-swift-sdk

What's New

12.0.0

2025-04-23T21:52:29Z

12.0.0

Breaking
  • The distributed static XCFrameworks now include their resources directly instead of relying on external resources bundles.
    • When manually integrating the static XCFrameworks, you must select the Embed & Sign option for each XCFramework in the Frameworks, Libraries, and Embedded Content section of your target's General settings.
    • No changes are required for Swift Package Manager or CocoaPods integrations.
Fixed
  • Fixes an App Store validation issue where Braze's libraries privacy manifests would fail to be detected when integrating the SDK as static XCFrameworks.
  • Fixes BrazeKitCompat ABKContentCard.expiresAt to return the correct expiration date.
    • Previously, ABKContentCard.expiresAt would always return 0.
  • Fixes an issue where the Braze.FeatureFlags.subscribeToUpdates(_:) update closure was being called immediately after calling changeUser(userId:) instead of waiting for the next feature flags sync result.
  • Fixes an issue where Braze.ContentCards.subscribeToUpdates(_:) would not call the update closure whenever a sync occurred without any changes in the Content Cards data.
    • Previously, the update closure would only be called when the sync resulted in a change.
  • Fixes the Braze.User.set(dateOfBirth:) method to report dates using the Gregorian calendar instead of the device's current calendar setting.
    • Previously, the SDK would override input dates and formats if the device's calendar settings were non-Gregorian.
    • With this change, you will still need to ensure that dates provided to set(dateOfBirth:) are generated with the Gregorian calendar, but the Braze SDK will no longer override their formats inadvertently.
  • Enhances the ⁠braze.wipeData() function to send a final update to all registered channel subscribers, notifying them of the data wipe.
    • This update ensures that any UI components utilizing the channel's data are properly dismissed and cleaned up.
    • For instance, if an in-app message is currently displaying as braze.wipeData() is called, the message will be removed from display.
  • Fixes braze.user.id not resetting to nil after calling braze.wipeData().
    • Internally, the user identifier was properly reset, but the public braze.user.id property was not updated to reflect this change.
Added
  • Adds the BrazeInAppMessagePresenter.dismiss(reason:) optional protocol method.
    • This method enables the SDK to inform the in-app message presenter when an in-app message should be dismissed due to an internal SDK state change.
    • Currently, this method is triggered only by calling ⁠braze.wipeData().
    • BrazeInAppMessageUI implements this optional method and dismisses the in-app message when triggered.

Braze Logo Braze Logo

Version: 12.0.0 Platforms: iOS - visionOS – tvOS – Mac Catalyst Package Managers: SwiftPM - CocoaPods License: Commercial

Braze Swift SDK

Version Information

  • The Braze Swift SDK supports
    • iOS 12.0+
    • Mac Catalyst 13.0+
    • tvOS 12.0+
    • visionOS 1.0+
  • Xcode 16.0 (16A242d) or newer
  • This repository follows Semantic Versioning

Package Managers

  • Swift Package Manager
  • CocoaPods

Libraries

iOS tvOS macCatatyst visionOS
BrazeKit
Main SDK library providing support for analytics and push notifications.
1
BrazeUI
Braze-provided user interface library for In-App Messages and Content Cards.
n/a
BrazeLocation
Location library providing support for location analytics and geofence monitoring.
2 2
BrazeNotificationService
Notification service extension library providing support for rich push notifications.
n/a
BrazePushStory
Notification content extension library providing support for Push Stories.
n/a

1 Push notifications not supported on tvOS
2 Geofence monitoring not supported on tvOS and visionOS

Examples

Explore our examples project which showcases multiple features' integrations.

Wrapper Support

Wrapper SDK Swift SDK Support Release Version
React Native 2.0.0
Flutter 3.0.0
Cordova 2.33.0
Unity 4.0.0
Xamarin 4.0.0

Alternative Repositories

Variant Repository GH Issues, SDK info
Sources and Static XCFrameworks braze-inc/braze-swift-sdk
Static XCFrameworks braze-inc/braze-swift-sdk-prebuilt-static
Dynamic XCFrameworks braze-inc/braze-swift-sdk-prebuilt-dynamic
Mergeable XCFrameworks (early access) braze-inc/braze-swift-sdk-prebuilt-mergeable

Appboy-iOS-SDK

As of version 5.8.0, the Braze Swift SDK provides all the features available in the Appboy-iOS-SDK.

We recommend all users to migrate to the Braze Swift SDK. For more information, please refer to our migration guide.

The Appboy-iOS-SDK (Objective-C) SDK is now in maintenance mode, which means only critical bug fixes, and security updates will be made. No new features or minor bug fixes will be added to that library.

Questions?

If you have questions, please contact support@braze.com or open a Github Issue.

Description

  • Swift Tools 5.10.0
View More Packages from this Author

Dependencies

Last updated: Mon May 12 2025 10:44:11 GMT-0900 (Hawaii-Aleutian Daylight Time)