Browse SDKs · iOS
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 uses the public Objective-C declarations of OpenIM iOS SDK as its API baseline. It covers only currently public business APIs and delegates. Deprecated methods do not receive separate pages, and the friend and conversation lists use only paginated APIs. The fixed SDK commit used for review remains in the content audit record rather than being repeated in public guides.

Integration flow

  1. Install OpenIMSDK and prepare accessible OpenIMServer endpoints.
  2. Obtain the current user's userID and token from a trusted 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 are documented only when backed by real Objective-C APIs in the enterprise iOS SDK or OpenIMCore interfaces distributed with the SDK. These 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 higher-level Objective-C selectors on OIMManager. Each page states the applicable boundary instead of inferring models from similar names.

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.
  • Tokens and room credentials are sensitive and must not be written to ordinary logs or persisted in uncontrolled storage.

References