Manual integration

Step 1: Downloading the Braze SDK

Option 1: Dynamic XCFramework

  1. Download Appboy_iOS_SDK.xcframework.zip from the release page and extract the file.
  2. In Xcode, drag and drop this .xcframework into your project.
  3. Under the General tab of the project, select Embed & Sign for Appboy_iOS_SDK.xcframework.

Option 2: Static XCFramework or Static Integration

  1. Download Appboy_iOS_SDK.zip from the release page.
  2. In Xcode, from the project navigator, select the destination project or group for Braze
  3. Navigate to File > Add Files to “Project_Name”
  4. Add the AppboyKit and AppboyUI folders to your project as a group.
    • Make sure that the Copy items into destination group’s folder option is selected if you are integrating for the first time. Expand Options in the file picker to select Copy items if needed and Create groups.
    • Delete the AppboyKit/include and AppboyUI/include directories
  5. (Optional) If you are one of the following:
    • You only want the core analytics features of the SDK and do not use any UI features (e.g., in-app messages or Content Cards)
    • You have custom UI for Braze’s UI features and handle the image downloading yourself

    You can use the core version of the SDK by removing the file ABKSDWebImageProxy.m and Appboy.bundle. This will remove the SDWebImage framework dependency and all the UI related resources (e.g. Nib files, images, localization files) from the SDK.

Step 2: Adding required iOS libraries

  1. Click on the target for your project (using the left-side navigation), and select the Build Phases tab.
  2. Click the button under Link Binary With Libraries.
  3. In the menu, select SystemConfiguration.framework.
  4. Mark this library as required using the pull-down menu next to SystemConfiguration.framework.
  5. Repeat to add each of the following required frameworks to your project, marking each as “required”
    • QuartzCore.framework
    • libz.tbd
    • CoreImage.framework
    • CoreText.framework
    • WebKit.framework
  6. Add the following frameworks and mark them as optional:
    • CoreTelephony.framework
  7. Select the Build Settings tab. In the Linking section, locate the Other Linker Flags setting and add the -ObjC flag.
  8. The SDWebImage framework is required for the Braze News Feed, Content Cards and In-App Messaging to function properly. SDWebImage is used for image downloading and displaying, including GIFs. If you intend to use the News Feed, Content Cards or in-app messages, please follow the steps below.

SDWebImage integration

To install SDWebImage, follow their instructions here and then drag and drop the resulting XCFramework into your project.

Optional location tracking

  1. Add the CoreLocation.framework to enable location tracking
  2. You must authorize location for your users using CLLocationManager in your app

Step 3: Objective-C bridging header

If your project uses Swift, you will need a bridging header file.

If you do not have a bridging header file, create one and name it your-product-module-name-Bridging-Header.h by choosing File > New > File > (iOS or OS X) > Source > Header File. Then add the following line of code to the top of your bridging header file:

1
#import "AppboyKit.h"

In your project’s Build Settings, add the relative path of your header file to the Objective-C Bridging Header build setting under Swift Compiler - Code Generation.

Next steps

Follow the instructions for Completing the Integration.

WAS THIS PAGE HELPFUL?
New Stuff!