Skip to main content

Get On-Device Support

Read the connected device's voice-assistant capability before displaying mode controls.

Prerequisites

API Reference

Framework

AIBuds.xcframework

Import

Swift
import AIBuds
import AIBudsFoundation

Declaration

Swift
/// The protocol for the on-device voice assistant API.
protocol OnDeviceVoiceAssistantAPI: DeviceAPI {
    /// The capability of the on-device voice assistant.
    var onDeviceVoiceAssistantCapability: OnDeviceVoiceAssistantCapability { get }
}

See onDeviceVoiceAssistantCapability and OnDeviceVoiceAssistantCapability.

Usage Examples

Swift
guard let voiceAssistant = device as? OnDeviceVoiceAssistantAPI else {
    supportLabel.text = "Not supported"
    return
}

switch voiceAssistant.onDeviceVoiceAssistantCapability {
case .none:
    supportLabel.text = "No voice-command capability"
case .keywordWakeup:
    supportLabel.text = "Keyword wake-up"
case .common:
    supportLabel.text = "Common voice commands"
}

Notes

  • Protocol conformance and capability are separate checks. A conforming device can still report .none.
  • Capability is a property, not an asynchronous query.
  • Use capability to restrict the modes presented by the UI.