View Authorized Services
Read authorizedServices from a connected device.
API Reference
- Swift
- Objective-C
/// The protocol for device service authentication API.
protocol DeviceServiceAuthAPI: DeviceAPI {
/// A collection of currently authorized services.
var authorizedServices: AIBudsAuthorizedServices { get }
}/// The protocol for device service authentication API.
@protocol AIBudsDeviceServiceAuthAPI <AIBudsDeviceAPI>
/// A collection of currently authorized services.
@property(nonatomic, readonly) AIBudsAuthorizedServices authorizedServices;
@endThe AIBudsAuthorizedServices option set currently defines:
| Flag | Meaning |
|---|---|
AIBudsAuthorizedServicesNone | No represented service is authorized. |
AIBudsAuthorizedServicesStarBurst | StarBurst AI is authorized. |
AIBudsAuthorizedServicesOnDeviceVoiceAssistant | The on-device voice assistant is authorized. |
Usage Examples
- Swift
- Objective-C
guard let device = device as? DeviceServiceAuthAPI else { return }
let services = device.authorizedServices
let starBurstAuthorized = services.contains(.starBurst)
let voiceAssistantAuthorized = services.contains(.onDeviceVoiceAssistant)id<AIBudsDeviceServiceAuthAPI> device = (id<AIBudsDeviceServiceAuthAPI>)self.device;
if ([device conformsToProtocol:@protocol(AIBudsDeviceServiceAuthAPI)]) {
AIBudsAuthorizedServices services = device.authorizedServices;
BOOL starBurstAuthorized = (services & AIBudsAuthorizedServicesStarBurst) != 0;
BOOL voiceAssistantAuthorized =
(services & AIBudsAuthorizedServicesOnDeviceVoiceAssistant) != 0;
}Treat unknown future bits as forward-compatible data and do not reject the complete mask.