设备信息概述
本节介绍 AIBuds SDK 的设备信息能力,包括读取设备当前信息和上报能力、适配物理控制方式、同步或设置设备时间、读取和更改设备语言,以及请求最新的存储空间和媒体数量信息。
功能概览
获取设备详情
读取 AIBuds 设备的标识、固件、连接、广播和运行时信息
同步设备时间
将 AIBuds 设备时钟与当前时间同步
设置设备时间
将 AIBuds 设备时钟设置为指定日期和时间
设置设备语言
设置已连接 AIBuds 设备使用的语言
查询存储信息
请求并读取 AIBuds 设备的存储使用信息
查询媒体数量
请求并读取 AIBuds 设备的媒体文件数量
使用 AI 辅助实现
使用 AI 开发
让 AI 帮助实现此工作流
使用官方“管理 AIBuds 设备信息”技能,根据你的 App 完成实现。
请阅读并遵循 https://docs-aibuds.github.io/zh-Hans/skills/manage-aibuds-device-info,使用该技能在当前 iOS 项目中完成“管理 AIBuds 设备信息”,并验证结果。开始使用
使用设备信息功能时,请按以下步骤操作:
- 连接设备:与 AIBuds 设备建立连接。
- 检查协议支持:确认设备支持
DeviceInfoAPI。 - 读取或更新信息:直接读取可用属性;需要刷新或更改信息时,调用对应方法。
关键概念
设备信息
- 设备详情:读取设备当前公开的属性,包括标识、固件、连接状态、电池状态、设备能力、硬件配置、当前及支持的语言、通话状态、存储与媒体状态、录音时长支持、AI 能力和协处理器型号。
- 时间管理:将设备时间与当前时间同步,或设置指定时间。
- 语言设置:从
languageSetting读取当前语言,检查supportedLanguages,并设置设备支持的DeviceLanguage值。 - 存储信息:请求最新存储信息,然后从
storageInfo读取以 MB 为单位的已用和可用空间。 - 媒体数量:请求最新媒体信息,然后从
mediaCountInfo读取照片、视频和音频文件数量。
协议参考
基础标识和连接属性由 DeviceConvertible 提供;其他设备信息属性和方法由 DeviceInfoAPI 提供。使用扩展能力前,请确认设备符合该协议:
- Swift
- Objective-C
guard let device = device as? DeviceInfoAPI else {
print("Device does not support DeviceInfoAPI")
return
}id<AIBudsDeviceInfoAPI> device = (id<AIBudsDeviceInfoAPI>)self.device;
if (![device conformsToProtocol:@protocol(AIBudsDeviceInfoAPI)]) {
NSLog(@"Device does not support AIBudsDeviceInfoAPI");
return;
}最佳实践
- 检查协议支持:调用方法前,始终确认设备支持
DeviceInfoAPI。 - 处理错误:在完成回调中正确处理错误。
- 回到主队列更新 UI:从完成回调更新 UI 时,使用
DispatchQueue.main.async。 - 按需使用弱引用:完成回调捕获其所属对象且可能形成循环引用时,使用
[weak self]。 - 成功后读取刷新值:存储或媒体数量请求成功后,再读取更新后的
storageInfo或mediaCountInfo。 - 使用上报能力:通过
deviceCapabilities开放可选功能;将nil视为尚未获知,并使用hardwareConfiguration根据设备实际配备的硬件调整引导和控制方式。
注意事项
- 设备信息可能因设备型号和固件版本而异。
- 部分设备可能不支持本节介绍的全部功能。
- 在 App 中开放功能前,请检查协议支持情况、设备上报的能力值、设备型号和固件版本。