본문으로 건너뛰기

기기 정보 개요

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

기능 개요

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으로 실제 하드웨어에 맞게 안내와 컨트롤을 조정하세요.

참고

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