Skip to main content
Choose your platform and installation method to get started with social.plus UIKit. We support both package installation for quick setup and GitHub forking for complete customization.
Two Installation Approaches: Use package installation for quick integration, or fork from GitHub for complete control and customization.

Installation Methods

Package Installation

Quick Setup (Recommended)
  • Managed dependencies
  • Easy updates
  • Minimal configuration
  • Perfect for most use cases

GitHub Fork

Complete Customization
  • Full source code access
  • Custom modifications
  • Advanced integrations
  • Maximum flexibility

Package Installation

Install UIKit through package managers for quick integration:
  • iOS
  • Android
  • Web (React)

Prerequisites

  • iOS 15.0 or later
  • Xcode 26.0 or later
  • Swift 6.0 or later

Installation Steps

Initialize UIKit

// In your AppDelegate or SceneDelegate
import AmityUIKit

AmityUIKitManager.setup(
    apiKey: "YOUR_API_KEY",
    endpoint: .US  // .US, .EU, or .SG
)

// Register user and present social home
AmityUIKitManager.registerDevice(
    withUserId: "user123",
    displayName: "John Doe"
) { success, error in
    if success {
        AmityUIKitManager.presentSocialHome()
    }
}

Required Permissions (Info.plist)

<key>NSCameraUsageDescription</key>
<string>Access camera to take photos and videos</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>Access photo library to select images</string>
<key>NSMicrophoneUsageDescription</key>
<string>Access microphone for video recording</string>

GitHub Fork Installation

For complete customization and control over the UIKit source code:
Note: React Native and Flutter UIKit is only available through GitHub forking, not package installation.
  • iOS
  • Android
  • Web (React)
  • Flutter
  • React Native (Beta)

Fork Repository

  1. Fork the iOS UIKit repository
  2. Clone your forked repository:
git clone https://github.com/YOUR_USERNAME/ASC-UIKit-iOS-OpenSource.git

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.

Migration from Existing Project

Remove Existing Dependencies (If Applicable)

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 UIKit 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 the git submodule of social.plus UIKit open source into your git repository:
git submodule add https://github.com/AmityCo/ASC-UIKit-iOS-OpenSource
2. Create an Xcode Workspace, and then add both MyApp.xcodeproj and AmityUIKit.xcodeproj together under the same workspace.iOS Open Source Project Directory Structure
Xcode Workspace Project Structure
3. AmityUIKit links with other dependencies such as AmitySDK, Realm etc through SharedFrameworks which is a Swift Package.
  • 3.1 Reset the 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
  • 3.2 Link SharedFrameworks & AmityUIKit.framework to YourApp.xcodeproj target as shown below. Link SharedFrameworks to iOS Project Link AmityUIKit Framework to iOS Project
4. On MyApp.xcodeproj, let’s try importing social.plus UIKit / social.plus SDK and call some APIs. You should be able to compile and run the app.iOS Integration Example

Modify iOS Open Source UIKit

You can modify the iOS open-source UIKit 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 UIKit Updates

To update to the latest version of the UIKit, you can pull the latest commit of the git submodule.
cd https://github.com/AmityCo/ASC-UIKit-iOS-OpenSource
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

Required Setup

Info.plist Permissions:
<key>NSCameraUsageDescription</key>
<string>Access camera to take photos and videos</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>Access photo library to select images</string>
<key>NSMicrophoneUsageDescription</key>
<string>Access microphone for video recording</string>
Initialize in AppDelegate:
import AmityUIKit

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    AmityUIKitManager.setup(
        apiKey: "YOUR_API_KEY",
        endpoint: .US  // .US, .EU, or .SG
    )
    return true
}

Customization Benefits

  • Complete UI Control: Modify view controllers, storyboards, XIB files, and Swift UI components
  • Custom Theming: Change colors, fonts, images, and styling throughout the app
  • Business Logic: Add custom validation, analytics, user flows, and integrations
  • Advanced Features: Implement custom post types, moderation rules, and push notifications
  • Native Performance: Direct access to native iOS optimizations and latest features
  • Version Control: Track changes and manage updates through your own repository

Next Steps

After installation, continue with:
Installation Complete? Head to Authentication Setup to configure your API credentials and start building!