查看已鉴权服务
从已连接设备读取 authorizedServices。
API 参考
- 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;
@endAIBudsAuthorizedServices 选项集当前定义:
| 标志 | 含义 |
|---|---|
AIBudsAuthorizedServicesNone | 未鉴权任何已表示的服务。 |
AIBudsAuthorizedServicesStarBurst | StarBurst AI 已鉴权。 |
AIBudsAuthorizedServicesOnDeviceVoiceAssistant | 离线语音助手已鉴权。 |
使用示例
- 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;
}将未来未知 bit 视为向前兼容数据,不要因此拒绝完整掩码。