MoEngage Docs

Manual Integration

To install manually, follow the steps below:

1. Download the latest SDK from our MoEngage-iOS-SDK Github repo.

2. Add the Framework file into your project:

Add the Framework file of the module you want to integrate into your project. Also, make sure that MoEngage.framework is added [For App target]. This is because all the other modules have a dependency on the MoEngage.framework[Except for MORichNotification].

3. Add the Framework to Embedded Binaries.

4. Add the Run Script for removing unsupported architectures:

Select App Target and go to Build Phase and add a Run Script step to your build steps, set it to use /bin/sh and enter the script provided below. And it's a generic script for all the manually integrated frameworks for removing unsupported architectures(Simulator architectures) while exporting the build OR submitting the app to AppStore:

APP_PATH="${TARGET_BUILD_DIR}/${WRAPPER_NAME}"

# This script loops through the frameworks embedded in the application and
# removes unused architectures.
find "$APP_PATH" -name '*.framework' -type d | while read -r FRAMEWORK
do
    FRAMEWORK_EXECUTABLE_NAME=$(defaults read "$FRAMEWORK/Info.plist" CFBundleExecutable)
    FRAMEWORK_EXECUTABLE_PATH="$FRAMEWORK/$FRAMEWORK_EXECUTABLE_NAME"
    echo "Executable is $FRAMEWORK_EXECUTABLE_PATH"

    EXTRACTED_ARCHS=()

    for ARCH in $ARCHS
    do
        echo "Extracting $ARCH from $FRAMEWORK_EXECUTABLE_NAME"
        lipo -extract "$ARCH" "$FRAMEWORK_EXECUTABLE_PATH" -o "$FRAMEWORK_EXECUTABLE_PATH-$ARCH"
        EXTRACTED_ARCHS+=("$FRAMEWORK_EXECUTABLE_PATH-$ARCH")
    done

    echo "Merging extracted architectures: ${ARCHS}"
    lipo -o "$FRAMEWORK_EXECUTABLE_PATH-merged" -create "${EXTRACTED_ARCHS[@]}"
    rm "${EXTRACTED_ARCHS[@]}"

    echo "Replacing original executable with thinned version"
    rm "$FRAMEWORK_EXECUTABLE_PATH"
    mv "$FRAMEWORK_EXECUTABLE_PATH-merged" "$FRAMEWORK_EXECUTABLE_PATH"

done

MORichNotification Manual Interation

  • Make sure to add the MORichNotification to Notification Service Extension target and NOT the App target.

  • Add MORichNotification to embedded binaries in the App target, make sure to not link it with App target, since it's only being used in the Notification Extension.

Updated 12 days ago

Manual Integration


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.