Обзор сведений об устройстве
В этом разделе описано получение текущих сведений и заявленных возможностей устройства AIBuds, адаптация к физическим органам управления, синхронизация и установка времени, чтение и изменение языка, а также обновление данных о хранилище и количестве медиафайлов.
Возможности
Сведения об устройстве
Идентификаторы, прошивка, подключение, рекламные данные и текущее состояние устройства AIBuds
Синхронизация времени устройства
Синхронизация часов устройства AIBuds с текущим временем
Установка времени устройства
Установка на устройстве AIBuds заданных даты и времени
Выбор языка устройства
Выбор языка интерфейса подключённого устройства AIBuds
Сведения о памяти
Запрос сведений об использовании памяти устройства AIBuds
Количество медиафайлов
Запрос количества фото, видео и аудиофайлов на устройстве AIBuds
Реализация с помощью AI
Реализуйте этот сценарий с AI
Используйте официальный навык «Управление сведениями об AIBuds» и адаптируйте сценарий к приложению.
Прочитайте и выполните инструкции https://docs-aibuds.github.io/ru/skills/manage-aibuds-device-info. Используйте этот навык, чтобы реализовать «Управление сведениями об AIBuds» в данном iOS-проекте и проверить результат.Начало работы
Для работы со сведениями об устройстве:
- Подключитесь к устройству — установите соединение с AIBuds
- Проверьте протокол — убедитесь, что устройство соответствует
DeviceInfoAPI - Прочитайте или обновите данные — читайте доступные свойства напрямую либо вызывайте соответствующий метод для обновления или изменения
Основные понятия
Сведения об устройстве
- Подробные сведения: идентификатор, прошивка, состояние соединения и батареи, возможности устройства, аппаратная конфигурация, текущий и поддерживаемые языки, состояние вызова, хранилища и медиа, поддержка длительности записи, AI-возможности и модель сопроцессора
- Управление временем: синхронизация с текущим временем или установка заданного времени
- Язык: чтение текущего языка из
languageSetting, проверкаsupportedLanguagesи установка поддерживаемого значенияDeviceLanguage - Хранилище: запрос актуальных данных и чтение занятого и свободного места в мегабайтах из
storageInfo - Количество медиа: запрос актуальных данных и чтение числа фотографий, видео и аудиозаписей из
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 - Обрабатывайте ошибки: предусмотрите корректную обработку в completion handlers
- Обновляйте UI в главной очереди: используйте
DispatchQueue.main.asyncпри обновлении из completion handlers - При необходимости используйте weak self: применяйте
[weak self], если completion handler захватывает владельца и может создать цикл удержания - После успеха читайте обновлённые свойства: после запроса хранилища или медиа читайте новые
storageInfoилиmediaCountInfo - Используйте заявленные возможности: управляйте дополнительными функциями через
deviceCapabilities, воспринимайтеnilкак неизвестное состояние и адаптируйте инструкции и управление поhardwareConfiguration
Примечания
- Набор сведений может зависеть от модели устройства и версии прошивки
- Некоторые устройства поддерживают не все описанные функции
- До отображения функции проверяйте протокол, заявленные устройством возможности, модель и прошивку