1. Home
  2. WalkMe Mobile
  3. Mobile: Setup and Integration
  4. Mobile: iOS
  5. Mobile: How To Install the iOS WalkMe Mobile SDK Manually

Mobile: How To Install the iOS WalkMe Mobile SDK Manually

Updated on March 31, 2021 Download PDFDownload as PDF
image_pdf

Steps For Installation

        1. Navigate to https://assets.abbi.io/release/sdk/{SDK_VERSION}.zip where {SDK_VERSION) is the version number you want to integrate;
          • For example: https://assets.abbi.io/release/sdk/1.15.0.zip.
        2. Download the repository as a .zip file and extract it;
        3. Copy WalkMeSDK.framework to your Xcode project;
        4. In case you can’t use frameworks on your project, use the static library option and copy libABBISDK.a and all headers under the “include/ABBISDK” folder to your Xcode project;
        5. Make sure to add the following frameworks to your target:
          • AudioToolbox.framework;
          • WebKit.framework;
          • SystemConfiguration.framework;
          • StoreKit.framework;
          • UIKit.framework;
          • CoreMotion.framework;
          • Social.framework;
          • UserNotifications.framework;
          • AddressBook.framework;
          • CoreLocation.framework;
          • AVFoundation.framework;
          • ImageIO.framework.
          • LocalAuthentication.framework
        6. Add – ObjC to “Other Linker Flag” (OTHER_LDFLAGS) in your target build settings:
        7. After installation, add the following to your AppDelegate.m:
          #import <WalkMeSDK/WalkMeSDK.h>
        8. In (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions, add the following:
          [ABBI start:@"YOUR_APP_KEY" withSecretKey:@"YOUR_SECRET_KEY"];
        9. WalkMeSDK.framework is precompiled with i386 and x86_64 architectures, before uploading your app to the iTunes Connect, you must slice these architectures.
        10. Add a Run Script step to your build steps, put it after your step to embed frameworks, set it to use /bin/sh and enter the following script:
          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

Pro-Tip: Verify the integration by looking at ABBI SDK and the current version of the SDK and the app ID you are using in your logs.

That’s it, you are all done!

Was this article helpful?

Thanks for your feedback!

Related Articles

< Back