OpenIM iOS SDK overview
Integrate users, conversations, groups, messages, calling, and events into an iOS application with OpenIM SDK.
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
- Install
OpenIMSDKand configure accessible OpenIMServer endpoints. - Obtain the current user's
userIDand authentication token from your business backend. - Configure
OIMInitConfigand initialize the SDK. - Register business delegates before logging the user in.
- Build features with user, friend, conversation, group, message, and audio/video calling signaling APIs.
- Remove delegates and clear local user session state upon logout or account switching.
Documentation structure
| Domain | Description |
|---|---|
| Integrate for the runtime environment | Installation, initialization, authentication, connection lifecycle, and sending your first message. |
| User overview | User profiles, friends, blacklists, and online status. |
| Conversation overview | Conversation queries, configuration, drafts, unread counts, hiding, clearing, and conversation groups. |
| Group overview | Group profiles, member management, join requests, permissions, and group events. |
| Message overview | Creating, sending, receiving, querying, searching, revoking, and reading message receipts. |
| Audio and video calling overview | Call signaling, room credentials, custom signals, and call events. |
| Events overview | Delegate 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
recvIDwhen sending direct one-to-one messages, and specifygroupIDwhen sending group messages. OIMConversationInfoencapsulates conversation display metadata and unread counts;OIMGroupInfoandOIMGroupMemberInfoencapsulate 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
Was this page helpful?