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

OpenIM iOS SDK exposes OpenIMSDK capabilities to iPhone and iPad applications through Objective-C APIs. Obtain the shared manager through [OIMManager manager] and reuse that instance throughout the application lifecycle.

This documentation covers the Objective-C business APIs and delegates provided by OpenIM iOS SDK. Friend and conversation lists use the paginated APIs.

Integration flow

  1. Install OpenIMSDK and prepare accessible OpenIMServer endpoints.
  2. Obtain the current user's userID and token from the application backend.
  3. Configure OIMInitConfig and call initSDKWithConfig:....
  4. Register business delegates before calling login:token:....
  5. Build your interface with user, friend, conversation, group, message, and audio/video call signaling APIs.
  6. When logging out or changing accounts, remove delegates and clear application state associated with the current account.

Documentation structure

DomainContent
Getting startedInstallation, initialization, authentication, connection lifecycle, and the first message.
UsersUser profiles, friends, blacklist, and online status.
ConversationsConversation queries, settings, drafts, unread counts, hiding, clearing, and conversation groups.
GroupsGroup profiles, members, applications, permissions, and group events.
MessagesMessage creation, sending, receiving, querying, searching, revocation, and read receipts.
Audio and video callsCall signaling, room credentials, custom signaling, and call events.
EventsDelegate registration, removal, and initial synchronization.

Enterprise capabilities include conversation groups, message modification, pinning or unpinning messages, audio transcription, and audio and video calls. Conversation groups and audio transcription call OpenIMCore's JSON interfaces directly; the other capabilities use Objective-C selectors on OIMManager.

Key data boundaries

  • Set recvID when sending a one-to-one message and groupID when sending a group message.
  • OIMConversationInfo stores conversation presentation data and unread counts; OIMGroupInfo and OIMGroupMemberInfo store group and membership data.
  • Query callbacks establish snapshots, while delegates merge subsequent incremental changes. A successful state-change callback does not mean every client's delegate has already arrived.

References