Reference

iOS SDK reference (floo-ios)

Core protocols and services of the floo iOS SDK: BMXClient, chat, user, roster, group, push, and voice & video services.

The iOS SDK mirrors the shared C++ object model. BMXClient is the entry point and hands out the individual services; listeners are registered per service.

Entry point

BMXClient.shared()
PurposeSingleton client
initialize(with: BMXSDKConfig)
PurposeConfigure App ID, storage paths and logging
userService()
PurposeSign in / sign up / profile
chatService()
PurposeSend, receive, recall, read receipts
rosterService()
PurposeContacts, requests, block list
groupService()
PurposeGroups, members, announcements, shared files
pushService()
PurposeDevice token binding and alias management
rtcService()
PurposeVoice & video sessions

Core objects

BMXMessage
DescriptionA single message with type, direction, content and attachment
BMXConversation
DescriptionConversation state, unread count and local history
BMXUserProfile
DescriptionSigned-in user profile
BMXRosterItem
DescriptionContact entry
BMXGroup
DescriptionGroup, plus Member, Invitation, BannedMember and SharedFile
BMXFileAttachment / BMXImageAttachment / BMXVoiceAttachment / BMXVideoAttachment / BMXLocationAttachment
DescriptionTyped attachments
BMXError
DescriptionError wrapper carrying a BMXErrorCode

Listener protocols

swift
BMXChatServiceProtocol    // onReceive, onStatusChanged, onRecall, onReadAck
BMXUserServiceProtocol    // onUserSignIn, onUserSignOut, onInfoUpdated
BMXRosterServiceProtocol  // onFriendAdded, onApplied, onBlockListAdded
BMXGroupServiceProtocol   // onMemberJoined, onAnnouncementUpdated, onGroupDestroyed

Compatibility

RequirementValue
Minimum OSiOS 9.0+
LanguagesObjective-C and Swift
Architecturearm64 device, arm64/x86_64 simulator