Amity iOS UIKit Migration Guide

SwiftPM Installation

This section is about installing managed uikit through dependency manager (SwiftPM). If you have already installed our Open Source UIKit, you can skip this section.

Create a project

Go to Xcode and create a project for iOS.

  1. Enter a project name

  2. Select Swift as your language option


To integrate AmityUIKit into your project via SwiftPM, please follow the instruction below.

Enter the repository URL to search the package, and choose to install AmityUIKit.


After finished installing SDK. You will be able to import AmityUIKit.

import AmityUIKit

Open-source Installation

With open-source, developers have more flexibility and greater customization options, allowing you to have complete control over the visual style. Open sourcing allows for more transparency and visibility and enables contributions from a greater developer community in terms of good design, implementation, code improvement, and fixes, translating into a better product and typical development.

Migrate iOS Open Source UI Kit with Existing Project

Remove existing dependencies

If you've never used UI Kit, you may skip this step and proceed to the next step.

If you're integrating the UI Kit with an existing project, you'll need to remove and unlink the managed UIKit from your project before proceeding with the integration.

Migrate to iOS UIKit Open Source

There are several ways for you to migrate the open source iOS UI Kit into your projects, depending on your workflow. One way that we recommend is via Git Submodule. This instruction assumes that the app project is already set up with a Git repository.

  1. Add git submodule of Amity UIKit open source into your git repository.

git submodule add

To simplify forking & contributing to the open source UIKit, we are moving away from using git-lfs in our git repository. We are migrating all development of Open Source UIKit to new repository starting release v3.12.0. The previous open source UIKit Repository would be supported until <xxxx-yyyy-zzzz> date. New repository will not contain any history before release v3.12.0.

For new users:

If you are just starting to use Open Source UIKit or already using latest version of Open Source UIKit (i.e v3.12.0) from old Repository, We suggest you to start pulling changes from new repository instead.

In this case,

  • If you have forked old open source UIKit repository, we suggest you to fork new repository and use that instead.

For Old Users:

If you are using older version (< 3.12.0) of open source UIKit, we suggest you to upgrade to latest version of UIKit as soon as possible. Once you are caught up to version 3.12.0, please migrate to use new repository instead.

  1. Create an Xcode Workspace, and then add both MyApp.xcodeproj and AmityUIKit.xcodeproj together under the same workspace.

3.AmityUIKit links with other dependencies such as AmitySDK, Realm etc through SharedFrameworks which is a Swift Package.

Step 1: Reset Package Cache of your Application Target i.e YourApp.xcodeproj. [If you are installing AmityUIKit for the first time, you can skip this step]

Select App Target In Xcode Project -> Select File Menu for Xcode-> Packages -> Reset Package Cache

Step 2: Link SharedFrameworks & AmityUIKit.framework to YourApp.xcodeproj target as shown below.

4. On MyApp.xcodeproj, let’s try importing AmityUIKit / AmitySDK and call some APIs. You should be able to compile and run the app.

Modify iOS Open Source UI Kit

You can modify the iOS open source UI Kit to customize behaviors to fit your needs. To modify the code, simply copy and paste it into your local machine.

We recommend that you first fork the repository before starting any customization work, so that it will be easier to merge the code with the next version update that we provide from the main repository.

References on forking:

Get Latest iOS Open Source UI Kit Updates

To update to the latest version of the UI Kit, you can pull the latest commit of the git submodule.

git pull origin master
git checkout tags/4.0.0-beta01
cd ..
git add .
git commit -m “Update ios uikit opensource submodule”
git push origin master

Last updated