跳到主要内容

设备信息概述

本节介绍 AIBuds SDK 的设备信息能力,包括读取设备当前信息和上报能力、适配物理控制方式、同步或设置设备时间、读取和更改设备语言,以及请求最新的存储空间和媒体数量信息。

功能概览

使用 AI 辅助实现

使用 AI 开发

让 AI 帮助实现此工作流

使用官方“管理 AIBuds 设备信息”技能,根据你的 App 完成实现。

请阅读并遵循 https://docs-aibuds.github.io/zh-Hans/skills/manage-aibuds-device-info,使用该技能在当前 iOS 项目中完成“管理 AIBuds 设备信息”,并验证结果。
查看官方技能

开始使用

使用设备信息功能时,请按以下步骤操作:

  1. 连接设备:与 AIBuds 设备建立连接。
  2. 检查协议支持:确认设备支持 DeviceInfoAPI
  3. 读取或更新信息:直接读取可用属性;需要刷新或更改信息时,调用对应方法。

关键概念

设备信息

  • 设备详情:读取设备当前公开的属性,包括标识、固件、连接状态、电池状态、设备能力、硬件配置、当前及支持的语言、通话状态、存储与媒体状态、录音时长支持、AI 能力和协处理器型号。
  • 时间管理:将设备时间与当前时间同步,或设置指定时间。
  • 语言设置:从 languageSetting 读取当前语言,检查 supportedLanguages,并设置设备支持的 DeviceLanguage 值。
  • 存储信息:请求最新存储信息,然后从 storageInfo 读取以 MB 为单位的已用和可用空间。
  • 媒体数量:请求最新媒体信息,然后从 mediaCountInfo 读取照片、视频和音频文件数量。

协议参考

基础标识和连接属性由 DeviceConvertible 提供;其他设备信息属性和方法由 DeviceInfoAPI 提供。使用扩展能力前,请确认设备符合该协议:

Swift
guard let device = device as? DeviceInfoAPI else {
    print("Device does not support DeviceInfoAPI")
    return
}

最佳实践

  1. 检查协议支持:调用方法前,始终确认设备支持 DeviceInfoAPI
  2. 处理错误:在完成回调中正确处理错误。
  3. 回到主队列更新 UI:从完成回调更新 UI 时,使用 DispatchQueue.main.async
  4. 按需使用弱引用:完成回调捕获其所属对象且可能形成循环引用时,使用 [weak self]
  5. 成功后读取刷新值:存储或媒体数量请求成功后,再读取更新后的 storageInfomediaCountInfo
  6. 使用上报能力:通过 deviceCapabilities 开放可选功能;将 nil 视为尚未获知,并使用 hardwareConfiguration 根据设备实际配备的硬件调整引导和控制方式。

注意事项

  • 设备信息可能因设备型号和固件版本而异。
  • 部分设备可能不支持本节介绍的全部功能。
  • 在 App 中开放功能前,请检查协议支持情况、设备上报的能力值、设备型号和固件版本。