Install iOS SDK
The Social Plus SDK for iOS is delivered as a binary .xcframework file
Manual Installation
Drag
AmitySDK.xcframework
,Realm.xcframework
&RealmSwift.xcframework
to your project.Make sure that
Copy items if needed
is selected and click Finish.Also switch the Embed section as
Embed & Sign
The correct setup should look like this.

Using Dependency Manager
AmitySDK
supports installation via dependency managers.
SwiftPM
Cocoapods
Carthage
SwiftPM Installation
To integrate AmitySDK into your project via SwiftPM, please follow the instructions below.
Enter the repository URL to search the package, and choose to install AmitySDK
.
https://github.com/AmityCo/Amity-Social-Cloud-SDK-iOS-SwiftPM
Please specify the required version of the SDK using the"Up to Next Major Version"
Dependency Rule
as shown in the image below.

Cocoapod & Carthage:
We have dropped support for Cocoapod & Carthage for AmitySDK
. If you want to distribute AmitySDK through cocoapod & carthage, you can use the xcframeworks
that we distribute through Swift Package Manager (SPM).
Additional Steps for Amity Video
Amity Video requires the AmitySDK
as dependencies. First, ensure you have installed AmitySDK
as per the instructions above.
To use live video broadcast:
Import
AmityLiveVideoBroadcastKit.xcframework
to your project.
To use a live video player:
For version 6.0.0 - 6.7.0
Import
AmityVideoPlayerKit.xcframework
to your projectDownload
MobileVLCKit.xcframework
, and import to your project.Switch each framework to
Embed & Sign
, exceptMobileVLCKit
toDo Not Embed
.

To install Swift Packages for Amity Video, please follow the instructions below.
For version 6.8.0 and above
Import
AmityVideoPlayerKit.xcframework
to your projectDownload
MobileVLCKit.xcframework
, and import to your project.Switch each framework to
Embed & Sign
, all xcframeworks.

Amity Video with SwiftPM
To install Swift Packages for Amity Video, please follow the instructions below.
1. Install AmityVideoBroadcast
To use live video broadcast functionalities. Enter the repository URL to search the package, and choose to install AmityVideoBroadcast
.
https://github.com/AmityCo/Amity-Social-Cloud-SDK-iOS-VideoBroadcast-SwiftPM
Try it in your code
import AmityLiveVideoBroadcastKit
2. Install AmityVideoPlayer
To use live video player functionalities. Enter the repository URL to search the package, and choose to install AmityVideoPlayer
.
https://github.com/AmityCo/Amity-Social-Cloud-SDK-iOS-VideoPlayer-SwiftPM
Try it in your code
import AmityVideoPlayerKit
If you selected "Up to Next Major Version
" option for the Dependency Rule, you need to manually add the version.
Using AmitySDK with Objective C Code
Starting with v6.0.0, AmitySDK for iOS is written in Pure Swift. Although its in pure Swift, you can still use it in Objective-C projects by making Mixed-Language Project.
We recommend you to integrate AmitySDK
for iOS swift directly into your Objective-C project and use Swift language to call the SDK interfaces.
Mixed Language Project:
To make a mixed language project, create Swift files with necessary interfaces/methods which in turn interacts with AmitySDK
. These interfaces should be exposed with @objc
or @objcMembers
attributes. Reference: Swift Attributes
When you add new Swift file into your Objective-C project, Xcode automatically generates a bridging header file. This bridging header exposes your Swift code to Objective C code. For more information you can refer to this guide by Apple: Importing Swift into Objective-C
// Example of a Swift file which contains a class to interact with AmitySDK.
@objc class SDKLoginManager: NSObject {
let client: AmityClient?
@objc init(apiKey: String) {
self.client = try? AmityClient(apiKey: apiKey)
}
@objc func login(userId: String, displayName: String, authToken: String, completion: @escaping (Bool, Error?) -> Void) {
self.client?.login(userId: userId, displayName: displayName, authToken: authToken, completion: completion)
}
}
#import "ViewController.h"
#import "YourProjectName-Swift.h" // <- This import exposes above Swift file to your Objc project.
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
}
- (void)testSDKUsage {
SDKLoginManager *loginManager = [[SDKLoginManager alloc] initWithApiKey:@"my-api-key"];
[loginManager loginWithUserId:@"user-id" displayName:@"display-name" authToken:@"auth-token" completion:^(BOOL isSuccess, NSError * _Nullable error) {
// Handle login completion here
}];
}
@end
Last updated
Was this helpful?