MimiSDK 4 Migration Guide

This document outlines the various changes required to migrate to MimiSDK 4 from a previous version of MimiSDK.

MimiSDK 4 introduces several API-breaking changes that should be made aware of.

Requirements

  • iOS 11 or above.
  • Xcode 11.
  • Swift 5.

What’s new

  • XCFramework support, bringing support for Swift Module stability.
  • Numerous bug fixes and performance improvements.

Changes

The following section describes all changes that are considered breaking API or significant behavioral changes.


Project Integration

In order to work around a Swift compiler bug which prevented us from supporting .xcframework and Swift Module Stability (SR-898) we have renamed a number of frameworks, which will result in the project needing to be re-integrated.

The renames are as follows:

  • MimiCore.framework -> MimiCoreKit.xcframework
  • MimiUX.framework -> MimiUXKit.xcframework
  • MimiTestFlow.framework -> MimiTestKit.xcframework
  • MimiAuthFlow.framework -> MimiAuthKit.xcframework
  • MimiHTE.framework -> MimiHTE.xcframework
  • MimiSDK.framework -> MimiSDK.xcframework

Therefore you should remove all MimiSDK frameworks from your Xcode project and then follow Integrating MimiSDK Manually. You should also remove the build script phase to strip frameworks, as this is no longer requried with XCFrameworks or included.

As the module names have also changed, this might require some imports to also be updated:

  • import MimiCore -> import MimiCoreKit
  • import MimiUX -> import MimiUXKit
  • import MimiTestFlow -> import MimiTestKit
  • import MimiAuthFlow -> import MimiAuthKit

Type Names

As part of working around SR-898, changes also had to be made to certain type names:

  • MimiSDK -> Mimi.
    • Therefore starting the SDK is now Mimi.start() rather than MimiSDK.start().
  • MimiSDKDelegate -> MimiDelegate.

Removals

  • Removed foreground from MimiColorBook.
  • Removed foreground from MimiColorBook.Color.