작업 모드 조회
기기의 현재 WorkMode 값을 읽습니다.
사전 요구 사항
- 기기가 연결되어 사용할 수 있는 상태입니다.
- 기기가
DeviceWorkModeAPI를 지원합니다.
API 참고
프레임워크
AIBuds.xcframework
가져오기
- Swift
- Objective-C
import AIBuds#import <AIBuds/AIBuds-Swift.h>
#import <AIBuds/AIBuds.h>프로토콜
- Swift
- Objective-C
/// The protocol for device work mode API.
protocol DeviceWorkModeAPI: DeviceAPI {
/// The current work mode of the device.
var workMode: WorkMode { get }
}/// The protocol for device work mode API.
@protocol AIBudsDeviceWorkModeAPI <AIBudsDeviceAPI>
/// The current work mode of the device.
@property(nonatomic, readonly) enum AIBudsWorkMode workMode;
@end속성
| 속성 | 타입 | 설명 |
|---|---|---|
workMode | WorkMode / AIBudsWorkMode | 기기가 보고한 현재 작업 모드입니다. |
반환 값
workMode는 동기식 읽기 전용 속성이며 completion handler를 사용하지 않습니다.
사용 예제
- Swift
- Objective-C
import AIBuds
guard let device = device as? DeviceWorkModeAPI else {
print("Device does not support work modes")
return
}
switch device.workMode {
case .normal:
print("Normal mode")
case .game:
print("Game mode")
@unknown default:
print("Unknown work mode")
}#import <AIBuds/AIBuds-Swift.h>
#import <AIBuds/AIBuds.h>
id<AIBudsDeviceWorkModeAPI> device = (id<AIBudsDeviceWorkModeAPI>)self.device;
if (![device conformsToProtocol:@protocol(AIBudsDeviceWorkModeAPI)]) {
NSLog(@"Device does not support work modes");
return;
}
switch (device.workMode) {
case AIBudsWorkModeNormal:
NSLog(@"Normal mode");
break;
case AIBudsWorkModeGame:
NSLog(@"Game mode");
break;
default:
NSLog(@"Unknown work mode");
break;
}오류 처리
비동기 오류 결과는 없습니다. 프로토콜 미지원과 알 수 없는 enum 값을 처리하세요.
권장 사항
- 속성을 직접 읽기: 비동기 작업 모드 조회 wrapper를 만들지 마세요.
- 알 수 없는 값 처리: 향후 호환성을 위해 unknown/default 분기를 포함하세요.
- 기기 변경 관찰: SDK가 기기 delegate를 통해 작업 모드 변경을 보고하면 UI를 갱신하세요.
참고
- 현재 공개 SDK는
normal및game작업 모드를 정의합니다. - 모드 변경에는
setWorkMode(_:completion:)을 사용하며 이 읽기 전용 속성과는 별개의 작업입니다.