Browse SDKs · iOS
Platform
SDKsiOS

OpenIM iOS SDK overview

Integrate users, conversations, groups, messages, calling, and events into an iOS application with OpenIM SDK.

Copy

The OpenIM iOS SDK is built on Objective-C to provide native instant messaging capabilities for iPhone and iPad applications. Access the shared global manager via [OIMManager manager] and reuse this singleton instance throughout the application lifecycle.

The SDK centers on business APIs, delegate callbacks, and lifecycle contracts to power real-time messaging. Always use paginated APIs when retrieving friend and conversation lists.

Integration workflow

  1. Install OpenIMSDK and configure accessible OpenIMServer endpoints.
  2. Obtain the current user's userID and authentication token from your business backend.
  3. Configure OIMInitConfig and initialize the SDK.
  4. Register business delegates before logging the user in.
  5. Build features with user, friend, conversation, group, message, and audio/video calling signaling APIs.
  6. Remove delegates and clear local user session state upon logout or account switching.

Documentation structure

DomainDescription
Integrate for the runtime environmentInstallation, initialization, authentication, connection lifecycle, and sending your first message.
User overviewUser profiles, friends, blacklists, and online status.
Conversation overviewConversation queries, configuration, drafts, unread counts, hiding, clearing, and conversation groups.
Group overviewGroup profiles, member management, join requests, permissions, and group events.
Message overviewCreating, sending, receiving, querying, searching, revoking, and reading message receipts.
Audio and video calling overviewCall signaling, room credentials, custom signals, and call events.
Events overviewDelegate registration, removal, and initialization synchronization.

Commercial edition features include Conversation groups overview, Modify a message, Pin or unpin a message, Transcribe audio, and Audio and video calling overview. Conversation groups and audio transcription invoke OpenIMCore JSON interfaces directly, whereas other features utilize OIMManager Objective-C selectors.

Key data boundaries

  • Set recvID when sending direct one-to-one messages, and specify groupID when sending group messages.
  • OIMConversationInfo encapsulates conversation display metadata and unread counts; OIMGroupInfo and OIMGroupMemberInfo encapsulate group attributes and member relationships.
  • Query callbacks return an instantaneous data snapshot, whereas delegates deliver asynchronous incremental events. A successful write callback indicates only that the local request succeeded, not that states across all remote clients have synchronized.

References