A modular iOS SDK for building connected AI wearable experiences.
Connect smart glasses, earbuds, speakers, watches, badges, and other AI devices with a unified device, media, voice, and AI stack.
Get Started · Explore Features · Choose Modules · Documentation · API Reference
English · 简体中文文档
AIBuds SDK is a modular framework for discovering, connecting, and interacting with supported AIBuds AI devices. Start quickly with the complete AllInOne package, or install only the CocoaPods subspecs your product needs.
- Unified connectivity — Device discovery, connection lifecycle, persistent device records, and Bluetooth communication.
- Built for AI wearables — Smart glasses, earbuds, earrings, speakers, watches, electronic badges, and more.
- Rich device capabilities — Device information, controls, audio, recording, camera, media transfer, live streaming, and firmware updates.
- End-to-end AI experiences — AI chat, streaming ASR, TTS, summaries, translation, simultaneous interpretation, image generation, and Q&A.
- Flexible architecture — Use the complete SDK or compose a smaller integration from independent modules.
- Production tooling — Structured logs, crash reports, a local AI dashboard, video stabilization, and a comprehensive demo app.
Availability depends on the connected device, installed SDK modules, and service configuration. Refer to the documentation and your target device capabilities.
| Area | Capabilities |
|---|---|
| Device connectivity | BLE discovery, device enrollment, connection management, auto-reconnect, and persistence |
| Device control | Device information, time sync, volume, EQ, ANC, wear detection, and input mapping |
| Audio and media | Audio recording, file import, photo/video management, RTSP playback, and RTMP publishing |
| AI services | AI chat, AI recording, streaming ASR, TTS, summaries, translation, interpretation, and AIGC |
| Voice assistant | Service authorization, wake and command handling, capability and mode management |
| Device maintenance | Firmware OTA, camera OTA, device apps, storage information, and factory reset |
| Diagnostics | Configurable logging, log export, crash reports, AI Dashboard, and video stabilization |
| Tool | Minimum version |
|---|---|
| iOS | 13.0 |
| Xcode | 26.0 |
| CocoaPods | 1.16.0 |
Use the complete package when you are evaluating the SDK or need most capabilities:
platform :ios, '13.0'
target 'YourTargetName' do
pod 'AIBudsSDK/AllInOne',
:git => 'https://github.com/topstepsmart/AIBuds-SDK-iOS.git',
:tag => '1.0.0'
endFor a smaller integration, select only the modules you need:
target 'YourTargetName' do
# ABMate BLE device communication
pod 'AIBudsSDK/ABMate',
:git => 'https://github.com/topstepsmart/AIBuds-SDK-iOS.git',
:tag => '1.0.0'
# Add one AI provider when required
# pod 'AIBudsSDK/AI/StarBurst', :git => '...', :tag => '1.0.0'
# pod 'AIBudsSDK/AI/MltCloud', :git => '...', :tag => '1.0.0'
endUse a local checkout while developing the SDK and app together:
pod 'AIBudsSDK/AllInOne', :path => '../AIBuds-SDK-iOS'AIBuds SDK requires additional Podfile hooks for dynamic frameworks, private-header compatibility, and binary distribution. Copy the complete hooks from the installation guide to avoid dependency or archive failures.
Install the dependencies and open the generated workspace:
pod install
open YourProject.xcworkspaceAdd both usage descriptions to the application target's Info.plist. SDK initialization returns false when either key is missing.
<key>NSBluetoothWhileInUseUsageDescription</key>
<string>This app uses Bluetooth to connect to AIBuds devices.</string>
<key>NSBluetoothAlwaysUsageDescription</key>
<string>This app uses Bluetooth to communicate with AIBuds devices.</string>Microphone, local network, Bonjour, background modes, Wi-Fi information, and hotspot entitlements are required only for the features that use them. See Permissions and Entitlements for complete configuration snippets.
Initialize the complete SDK from AppDelegate or SceneDelegate:
import AIBudsAllInOne
final class AppDelegate: UIResponder, UIApplicationDelegate, SDKDelegate {
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
guard AIBudsAllInOneSDK.initialize(self) else {
assertionFailure("AIBuds SDK initialization failed")
return true
}
return true
}
}AIBudsSDK.startScanning(
deviceFoundHandler: { device, isExistingDevice in
print("Found \(device.name), RSSI: \(device.rssi)")
print(isExistingDevice ? "Stored device" : "New device")
},
completion: {
print("Scanning stopped")
}
)Convert a discovery result with makeStorableDeviceFromDiscovered(_:), persist it with StoredDevicesMgr, and connect using ConnectParams. The Quick Start guide covers enrollment, connection, commands, delegate callbacks, and disconnection in both Swift and Objective-C.
| CocoaPods subspec | Purpose | Use it for |
|---|---|---|
AIBudsSDK/AllInOne |
Complete device, AI, voice, media, and diagnostic stack | Fast evaluation or full-featured products |
AIBudsSDK/Core |
Base types, Bluetooth orchestration, models, and protocols | The foundation of a custom integration |
AIBudsSDK/ABMate |
ABMate BLE protocol and device APIs | Devices using the ABMate protocol |
AIBudsSDK/Audio |
Audio session, processing, and VAD | Voice and AI audio workflows |
AIBudsSDK/AI/StarBurst |
StarBurst AI provider | Products using StarBurst services |
AIBudsSDK/AI/MltCloud |
MltCloud AI provider | Products using MltCloud services |
AIBudsSDK/AI/Dashboard |
Local AI session dashboard | AI diagnostics and report inspection |
AIBudsSDK/VoiceAssistant |
On-device assistant authorization bridge | Offline voice assistants |
AIBudsSDK/LiveStream |
RTSP playback and RTMP publishing | Real-time audio/video experiences |
AIBudsSDK/VideoStabilization |
Six-axis imported video processing | Stabilizing smart-glasses recordings |
AIBudsSDK/Log/XLFacility |
Persistent logs and local log browser | Development and field diagnostics |
AIBudsSDK/CrashReporter |
Crash capture and persisted reports | Stability diagnostics |
Installing only pod 'AIBudsSDK' selects Core; it does not include ABMate, an AI provider, or optional features. See the module reference for the complete dependency graph.
AIBudsSDK-Demo demonstrates device discovery and connection, controls, OTA, audio/video, AI services, voice assistant integration, logs, and crash reporting.
cd AIBudsSDK-Demo
pod install
open AIBuds.xcworkspaceBefore running the app:
- Add the service-provider values required by your integration to
AIBudsSDK-Demo/AIBudsSDK-Demo/configs.plist. - Select your development team and set a valid Bundle Identifier in Xcode.
- Use a physical device to verify Bluetooth, hotspot, camera, and real-time media features.
| Resource | Description |
|---|---|
| Documentation | Installation, configuration, concepts, and feature guides |
| Quick Start | Initialization, discovery, enrollment, connection, and commands |
| API Reference | Framework, type, and method reference |
| Core Features | Device control, media, live streaming, and OTA |
| AI Services | Providers, sessions, and AI capabilities |
| Troubleshooting | Installation, initialization, discovery, and connection issues |
| 中文文档 | Complete Simplified Chinese documentation |
Why does SDK initialization return false?
First verify that both NSBluetoothWhileInUseUsageDescription and NSBluetoothAlwaysUsageDescription are present in the application target's Info.plist. Then confirm that your initialization code matches the modules installed in the Podfile.
Should I use AllInOne or a modular installation?
Choose AllInOne for prototypes, evaluation, and products that need most capabilities. For a production app exposing a limited feature set, select individual subspecs to reduce dependencies and application size.
Why should I open the .xcworkspace file?
CocoaPods integrates the SDK and its third-party dependencies into the generated workspace. After pod install, open .xcworkspace instead of the original .xcodeproj.
If AIBuds SDK helps your project, consider giving the repository a ⭐️ and following future releases.