본문으로 건너뛰기

기기 정보 개요

이 문서에서는 기기의 현재 정보와 보고된 기능 조회, 물리적 컨트롤에 맞춘 조정, 시간 동기화 및 설정, 언어 조회 및 변경, 최신 저장 공간과 미디어 수량 요청 방법을 설명합니다.

기능 개요​

AI를 활용해 구현

AI로 구현

AI로 이 워크플로 구현

공식 “AIBuds 기기 정보 관리” 스킬을 사용해 앱에 맞게 구현하세요.

https://docs-aibuds.github.io/ko/skills/manage-aibuds-device-info을 읽고 지침을 따르세요. 이 스킬로 “AIBuds 기기 정보 관리”을 이 iOS 프로젝트에 구현하고 검증하세요.
공식 스킬 보기

시작하기​

기기 정보를 사용하려면 다음 순서로 진행하세요.

  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. 오류 처리: completion handler에서 오류를 적절히 처리하세요.
  3. 백그라운드 실행: completion handler에서 UI를 변경할 때는 DispatchQueue.main.async를 사용하세요.
  4. 필요한 경우 weak self 사용: completion handler가 소유 객체를 캡처하여 retain cycle이 생길 수 있으면 [weak self]를 사용하세요.
  5. 성공 후 갱신된 속성 확인: 저장 공간 또는 미디어 수량 요청이 성공하면 갱신된 storageInfo 또는 mediaCountInfo 속성을 읽으세요.
  6. 보고된 기능 사용: deviceCapabilities로 선택적 기능을 제어하고 nil은 아직 알 수 없음으로 처리하세요. hardwareConfiguration으로 실제 하드웨어에 맞게 안내와 컨트롤을 조정하세요.

참고​

  • 제공되는 기기 정보는 기기 모델과 펌웨어 버전에 따라 다를 수 있습니다.
  • 일부 기기는 이 절의 모든 기능을 지원하지 않을 수 있습니다.
  • 앱에서 기능을 제공하기 전에 프로토콜 준수 여부, 기기가 보고한 지원 값, 기기 모델 및 펌웨어를 확인하세요.