Skip to content

iOS SDK

Minimum iOS Version: iOS 13

Minimum Xcode Version: 14

Github Repo: https://github.com/movableink/ios-sdk

iOS Sample App

Want a working example of an integration?

View iOS Sample App

Installation

You can install the SDK using Swift Package Manager (SPM), Carthage, CocoaPods, or manually.

Manual

  1. Go to the MovableInk Releases page.
  2. Download the SDK by opening the Assets accordion and selecting MovableInk.xcframework.zip
  3. Unzip the file, then drag the MovableInk.xcframework file into your project under the Frameworks, Libraries, and Embedded Content section

Swift Package Manager (SPM) - Recommended

  1. In Xcode, open your project, select the project under the PROJECT header, then select Package Dependencies
  2. Search for https://github.com/movableink/ios-sdk
  3. Tap Add Package

Carthage

Cartfile
binary "https://raw.githubusercontent.com/movableink/ios-sdk/main/Carthage/MovableInkSDK.json" == 1.7.1

In the root of your project, run

$ carthage update --use-xcframeworks

CocoaPods

Podfile
use_frameworks!

target "YOUR_TARGET_NAME" do
  pod "MovableInk", podspec: "https://raw.githubusercontent.com/movableink/ios-sdk/1.7.1/MovableInk.podspec"
end

Replace YOUR_TARGET_NAME and then, in the Podfile directory, run:

$ pod install

Integration

Native

If you're using a UIKit app, you can follow the UIKit Integration article.

If you're using a SwiftUI app, you can follow the SwiftUI Integration article.

Non Native

We have packages for Flutter, React Native, and Cordova.

Deployment

Xcode 13 introduced a new option to their App Store Distribution Option:

Manage Version and Build Number

If checked, this option changes the version and build number of all content of your app to your applications version, including third-party frameworks. This option is enabled by default. Please make sure to disable this option when archiving or exporting your application to the App Store.

export_options_image

If you use the xcodebuild cli to archive your app, you can add the manageAppVersionAndBuildNumber key to your exportOptions.plist, and set it to false.

xcodebuild -exportArchive -archivePath ./Release.xcarchive \
-exportPath ./Release -exportOptionsPlist ./Release/exportOptions.plist
<key>manageAppVersionAndBuildNumber</key>
<false/>

If you're using Fastlane with Gym to archive and deploy your app, you can set this key in the export_options hash.

gym(
  scheme: "AppSchemeName",
  workspace: "App.xcworkspace",
  export_method: "app-store",
  export_options: {
    manageAppVersionAndBuildNumber: false
  },
  output_directory: "Builds/"
)