Swift package manager integration
Installing the iOS SDK via Swift Package Manager (SPM) automates the majority of the installation process for you. Before beginning this process, ensure that you are using Xcode 12 or greater.
tvOS is not currently available via Swift Package Manager.
Step 1: Adding the dependency to your project
Open your project and navigate to your project’s settings. Select the tab named Swift Packages and click on the add button (+) at the bottom left.
When importing SDK version
3.33.1 and above, enter the URL of our iOS SDK repository (
https://github.com/braze-inc/braze-ios-sdk) in the text field and click Next.
3.32.0, use the URL
On the next screen, select the SDK version and click Next.
Versions 3.29.0 and higher are compatible with Swift Package Manager.
Select the package that best suits your needs and click Finish:
- Best suited if you plan to use UI components provided by Braze.
- Best suited if you don’t need to use any of the UI components provided by Braze (e.g. Content Cards, In-App Messages, etc.).
- Include this package if you have integrated Push Stories in your app. This is supported as of version 3.31.0.
- In the dropdown under
Add to Target, select your
ContentExtensiontarget instead of your main app’s target.
Make sure you select either
AppboyUI. Including both packages can lead to undesired behavior.
Step 2: Configuring your project
Next, navigate to your project build settings and add the
-ObjC flag to the Other Linker Flags setting.
This flag must be added and any errors resolved in order to further integrate the SDK.
If you do not add the
-ObjC flag, parts of the API may become missing and behavior will be undefined. You may encounter unexpected errors such as “unrecognized selector sent to class”, application crashes, and other issues.
Step 3: Editing the target’s scheme
If you are using Xcode 12.4 or earlier, edit the scheme of the target including the Appboy package (Product > Scheme > Edit Scheme menu item):
- Expand the Build menu and select Post-actions. Press the plus (+) button and select New Run Script Action.
- In the Provide build settings from dropdown, select your app’s target.
- Copy this script into the open field:
1 2 3 4
# iOS bash "$BUILT_PRODUCTS_DIR/Appboy_iOS_SDK_AppboyKit.bundle/Appboy.bundle/appboy-spm-cleanup.sh" # macOS (if applicable) bash "$BUILT_PRODUCTS_DIR/Appboy_iOS_SDK_AppboyKit.bundle/Contents/Resources/Appboy.bundle/appboy-spm-cleanup.sh"
You do not need to perform this step if you are using Xcode 12.5 or newer.
Follow the instructions for Completing the Integration.