iOS UIKit Installation Guide

Amity iOS UIKit Migration Guide

iOS UI Kit Migration Instructions

To allow for more customization, we have now open sourced our UI Kits and deprecated the packaged UI Kit version that was previously available.

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.

To ensure that you continue to receive the latest features and updates, we encourage you to move off the managed UI Kit to the Open Source UI Kit. This guide will show you how to:

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 https://github.com/AmityCo/ASC-UIKit-iOS-OpenSource

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 https://github.com/AmityCo/ASC-UIKit-iOS-OpenSource starting release v3.12.0. The previous open source UIKit Repository https://github.com/AmityCo/Amity-Social-Cloud-UIKit-iOS-OpenSource 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: https://docs.github.com/en/get-started/quickstart/fork-a-repo

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.

cd https://github.com/AmityCo/ASC-UIKit-iOS-OpenSource
git pull origin master
cd ..
git add .
git commit -m “Update ios uikit opensource submodule”
git push origin master

Last updated