CocoaPods trunk is moving to be read-only. Read more on the blog, there are 4 months to go.

AIBudsSDK 1.0.0

AIBudsSDK 1.0.0

Maintained by pcjbird.



AIBudsSDK 1.0.0

  • By
  • pcjbird
AIBuds SDK

AIBuds SDK for iOS

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.

SDK Pod Version Release Nightly

Platform Languages CocoaPods Release Date

Last Commit License Ask DeepWiki

Get Started · Explore Features · Choose Modules · Documentation · API Reference

English · 简体中文文档


✨ Overview

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.

🧩 Features

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

🚀 Quick Start

Requirements

Tool Minimum version
iOS 13.0
Xcode 26.0
CocoaPods 1.16.0

1. Install the SDK

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'
end

For 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'
end

Use 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.xcworkspace

2. Add Bluetooth permissions

Add 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.

3. Initialize

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
    }
}

4. Discover devices

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.

📦 Modules

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.

🧪 Demo App

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.xcworkspace

Before running the app:

  1. Add the service-provider values required by your integration to AIBudsSDK-Demo/AIBudsSDK-Demo/configs.plist.
  2. Select your development team and set a valid Bundle Identifier in Xcode.
  3. Use a physical device to verify Bluetooth, hotspot, camera, and real-time media features.

📚 Documentation

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

🛠️ FAQ

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.

📄 Release and License


If AIBuds SDK helps your project, consider giving the repository a ⭐️ and following future releases.

Read the Docs · Report an Issue