Перейти к основному содержимому

Обзор сведений об устройстве

В этом разделе описано получение текущих сведений и заявленных возможностей устройства AIBuds, адаптация к физическим органам управления, синхронизация и установка времени, чтение и изменение языка, а также обновление данных о хранилище и количестве медиафайлов.

Возможности

Реализация с помощью AI

Разработка с AI

Реализуйте этот сценарий с AI

Используйте официальный навык «Управление сведениями об AIBuds» и адаптируйте сценарий к приложению.

Прочитайте и выполните инструкции https://docs-aibuds.github.io/ru/skills/manage-aibuds-device-info. Используйте этот навык, чтобы реализовать «Управление сведениями об AIBuds» в данном iOS-проекте и проверить результат.
Открыть официальный навык

Начало работы

Для работы со сведениями об устройстве:

  1. Подключитесь к устройству — установите соединение с AIBuds
  2. Проверьте протокол — убедитесь, что устройство соответствует DeviceInfoAPI
  3. Прочитайте или обновите данные — читайте доступные свойства напрямую либо вызывайте соответствующий метод для обновления или изменения

Основные понятия

Сведения об устройстве

  • Подробные сведения: идентификатор, прошивка, состояние соединения и батареи, возможности устройства, аппаратная конфигурация, текущий и поддерживаемые языки, состояние вызова, хранилища и медиа, поддержка длительности записи, AI-возможности и модель сопроцессора
  • Управление временем: синхронизация с текущим временем или установка заданного времени
  • Язык: чтение текущего языка из languageSetting, проверка supportedLanguages и установка поддерживаемого значения DeviceLanguage
  • Хранилище: запрос актуальных данных и чтение занятого и свободного места в мегабайтах из storageInfo
  • Количество медиа: запрос актуальных данных и чтение числа фотографий, видео и аудиозаписей из mediaCountInfo

Протоколы

Базовые свойства идентификации и соединения доступны через DeviceConvertible. Дополнительные свойства и методы предоставляет DeviceInfoAPI. Перед их использованием проверьте соответствие устройства протоколу:

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

Рекомендации

  1. Проверяйте протокол: до вызова методов всегда убеждайтесь в поддержке DeviceInfoAPI
  2. Обрабатывайте ошибки: предусмотрите корректную обработку в completion handlers
  3. Обновляйте UI в главной очереди: используйте DispatchQueue.main.async при обновлении из completion handlers
  4. При необходимости используйте weak self: применяйте [weak self], если completion handler захватывает владельца и может создать цикл удержания
  5. После успеха читайте обновлённые свойства: после запроса хранилища или медиа читайте новые storageInfo или mediaCountInfo
  6. Используйте заявленные возможности: управляйте дополнительными функциями через deviceCapabilities, воспринимайте nil как неизвестное состояние и адаптируйте инструкции и управление по hardwareConfiguration

Примечания

  • Набор сведений может зависеть от модели устройства и версии прошивки
  • Некоторые устройства поддерживают не все описанные функции
  • До отображения функции проверяйте протокол, заявленные устройством возможности, модель и прошивку