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:

Prerequisites

  • iOS 15.0 or later
  • Xcode 16.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.

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

Migration from Existing Project

Remove Existing Dependencies (If Applicable)

If you’re migrating from a managed UIKit installation, remove existing dependencies:
  1. In Xcode, remove AmityUIKit from Build Phases → Link Binary With Libraries
  2. Remove any SwiftPM or CocoaPods dependencies
  3. Clean build folder (Product → Clean Build Folder)

Integration Methods

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
}

Updating to Latest Version

For Git Submodule:
cd AmityUIKit
git pull origin master
git checkout tags/4.0.0-beta01  # or latest version
cd ..
git add .
git commit -m "Update iOS UIKit open source submodule"
git push origin main
For Forked Repository:
# Sync your fork with upstream
git remote add upstream https://github.com/AmityCo/ASC-UIKit-iOS-OpenSource.git
git fetch upstream
git checkout main
git merge upstream/main
git push origin main

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!