iOS Chatbot UI Kit — Release Notes
Version history for dialogs_ChatbotAV_iOS, the official pre-built chat and
video-calling UI Kit for iOS. Releases are shown in reverse chronological order — latest first.
This is the first published release of the iOS Chatbot UI Kit. Platform: iOS 15.0+ · Swift 5.0 · Device-only (arm64).
Download: dialogs_ChatbotAV_iOS.xcframework_1.0.0.zip
Highlights
- WebView-driven chatbot engine (
EnxBotWebViewManager) that renders the EnableX chatbot web application (voiceassist.enablex.io) and bridges it to native UIKit via a JavaScript message bridge (EnxBotJSBridgeManager). - Single entry-point public API —
EnxChatClient.connect(configuration:eventListner:)— returns a ready-to-attachEnxBotContainerView. - Rich message types: text, markdown, images, video, file attachments, calendar date-picker, single/multi-choice suggestions, action buttons, and system/handover status messages.
- Native attachment pipeline: Photo Library (PHPicker), Camera (
UIImagePickerController), and file/document sharing (UIDocumentPickerViewController), with client-side image compression before upload. - Click-to-call flow — when the bot signals a clickToCall session, the input bar is swapped for a dedicated calling UI (
EnxClickToCallingView) with handover-status–aware button states. - Audio/video calling surface (
EnxVideoContainerView) with two rendering modes:- Native mode — backed by
Enx_UIKit_iOS/EnxRTCiOS(EnxVideoViewClass), used when the bot supplies a room token. - WebView mode — an embedded iframe/web calling UI, used when the bot supplies an iframe URL instead of a room token.
- Native mode — backed by
- Picture-in-picture style floating call view with drag-to-reposition and tap-to-expand/collapse gestures.
- Automated post-archive packaging script (
build_xcframework.sh) that produces a distributable.xcframeworkwith dSYMs directly from Xcode's Archive action.
Known Limitations
- Device-only build. The bundled native video engine (
EnxRTCiOS/EnablexWebRTC) ships arm64 device binaries only — there is no iOS Simulator slice. All calling features must be tested on a physical device. - Single active session.
EnxChatClientholds its delegate, configuration, and container as static state, so only one bot session is supported per process at a time. EnxServiceClass.featchToken(requestParam:completion:)(direct REST token-fetch helper) is present in the source but not currently wired into the call flow — room tokens are instead delivered inline through the bot's WebView payload.- No offline/retry handling for the remote chat WebView load (
https://voiceassist.enablex.io/...); a network failure during initial load surfaces only via WebView navigation-delegate error logging.
Dependencies Pinned in This Release
| Package | Version / Revision | Role | Dev Doc Path |
|---|---|---|---|
Enx_UIKit_iOS | 2.2.4 | Video call UI kit (binary xcframework) | /video/ui-kit/ios.html |
EnxRTCiOS | 3.1.6 | WebRTC calling engine + EnablexWebRTC media engine (binary) | /video/sdk/ios.html |
socket.io-client-swift | branch master | Host-app level real-time transport dependency | |
| Starscream | 4.0.8 | WebSocket transport (SocketIO dependency) |
Upgrade note: Because the video engine is device-only and distributed as prebuilt binaries, always rebuild and redistribute the .xcframework (see the Developer Guide) after bumping Enx_UIKit_iOS / EnxRTCiOS versions — binary compatibility across major versions is not guaranteed.
Permissions Required
This framework does not ship its own Info.plist usage-description strings — add these to the consuming app's Info.plist:
NSCameraUsageDescriptionNSMicrophoneUsageDescriptionNSPhotoLibraryUsageDescription