OpenIM iOS ๐Ÿ’ฌ๐Ÿ’ป

May 16, 2025 ยท View on GitHub

OpenIM iOS ๐Ÿ’ฌ๐Ÿ’ป

OpenIM Docs โ€ข OpenIM Server โ€ข openim-sdk-ios โ€ข openim-sdk-core

OpenIM provides an open-source Instant Messaging (IM) SDK for developers, serving as an alternative solution to cloud services like Twilio and Sendbird. With OpenIM, developers can build secure and reliable IM applications similar to WeChat, Zoom, and Slack.

This repository is based on the open-source version of the OpenIM SDK, offering an iOS IM application. You can use this application as a reference implementation of the OpenIM SDK.

Preview Preview

License :page_facing_up:

This repository is licensed under the GNU Affero General Public License Version 3 (AGPL-3.0) and is subject to additional terms. Commercial use is prohibited. For more details, see here.

Development Environment

Before you start development, ensure that the following software is installed on your system:

  • Operating System: macOS 15 or later
  • Xcode: Version 16.1
  • Git: For version control

Additionally, make sure you have deployed the latest version of the OpenIM Server. After deployment, you can compile the project and connect it to your server for testing.

Supported Platforms

This application supports the following platforms:

PlatformVersionStatus
iOS13.0 and aboveโœ…

Notes

  • iOS: Make sure your version meets the requirements to avoid compilation issues.

Quick Start

Follow the steps below to set up your local development environment:

  1. Clone the repository:

    git clone https://github.com/openimsdk/openim-ios-demo.git
    cd openim-ios-demo/Example
    
  2. Install dependencies

    pod install
    

    2.1 If the installation fails and a message appears saying that a dependency was not found, please execute the following command to update the local CocoaPods repository list.

    pod repo update
    
  3. Modify the configuration

    If you have not changed the default server ports, update only the defaultHost to your server IP.

    let defaultHost = "your-server-ip or your-domain";
    
  4. open OpenIMSDKUIKit.xcworkspace to compile and run the program.

  5. Start developing and testing! ๐ŸŽ‰

Audio/Video Calls

The open-source version supports one-to-one audio and video calls. You need to first deploy and configure the server. For multi-party audio/video calls or video conferencing, please contact us at contact@openim.io.

Build ๐Ÿš€

Click "Archive" to compile the IPA package.

Features

Description

Feature ModuleFeatureStatus
Account FeaturesPhone number registration \ Email registration \ Verification code loginโœ…
View \ Edit personal informationโœ…
Multi-language settingsโœ…
Change password \ Forgot passwordโœ…
Friend FeaturesFind \ Apply \ Search \ Add \ Delete friendsโœ…
Accept \ Reject friend requestsโœ…
Friend notesโœ…
Allow friend requests or notโœ…
Friend list \ Friend data real-time syncingโœ…
BlocklistRestrict messagesโœ…
Real-time syncing of blocklistโœ…
Add \ Remove from blocklistโœ…
Group FeaturesCreate \ Dismiss groupsโœ…
Apply to join \ Invite to join \ Leave group \ Remove membersโœ…
Group name / Avatar changes / Group data updates (notifications, real-time sync)โœ…
Invite members to groupโœ…
Transfer group ownershipโœ…
Group owner or admin approve join requestsโœ…
Search group membersโœ…
Message FeaturesOffline messagesโœ…
Roaming messagesโœ…
Multi-end messagesโœ…
Message historyโœ…
Message deletionโœ…
Clear messagesโœ…
Copy messagesโœ…
Typing indicator in single chatโœ…
Do Not Disturb for new messagesโœ…
Clear chat historyโœ…
New members can view group chat historyโœ…
New message remindersโœ…
Text messagesโœ…
Image messagesโœ…
Video messagesโœ…
Emoji messagesโœ…
File messagesโœ…
Voice messagesโœ…
Contact card messagesโœ…
Location messagesโœ…
Custom messagesโœ…
ConversationPin conversationโœ…
Mark conversation as readโœ…
Mute conversationโœ…
REST APIAuthentication managementโœ…
User managementโœ…
Relationship chain managementโœ…
Group managementโœ…
Conversation managementโœ…
Message managementโœ…
WebhookGroup callbacksโœ…
Message callbacksโœ…
Push callbacksโœ…
Relationship callbacksโœ…
User callbacksโœ…
Capacity & Performance10,000 friendsโœ…
100,000-member supergroupโœ…
Second-level syncingโœ…
Cluster deploymentโœ…
Multi-device kick-out strategy
Online StatusNo mutual kick-out across all platformsโœ…
Each platform can only log in with one deviceโœ…
PC, Mobile, Pad, Web, Mini Program each can log in with one deviceโœ…
PC not mutually kicked, only one device total for other platformsโœ…
Audio/Video CallOne-to-one audio and video callsโœ…
File StorageSupports private Minio deploymentโœ…
Supports public cloud services COS, OSS, Kodo, S3โœ…
PushReal-time online message pushโœ…
Offline message push, supports Getui, Firebaseโœ…

For more advanced features, audio/video calls, or video conferences, please contact us at contact@openim.io.

Join Our Community :busts_in_silhouette: