Ana içeriğe geç

Takma Algılama Yeteneğini Görüntüleme

Cihazın takma algılamayı destekleyip desteklemediğini ve özelliğin yapılandırılabilir olup olmadığını okuyun.

Ön Koşullar

  • Cihaz bağlı ve hazırdır.
  • Cihaz DeviceWearDetectionAPI protokolüne uyar.

API Referansı

Framework

AIBuds.xcframework

İçe Aktarma

Swift
import AIBuds

Protokol

Yetenek, DeviceWearDetectionAPI protokolünün bir özelliğidir.

Swift
/// The protocol for device wear detection API.
protocol DeviceWearDetectionAPI: DeviceAPI {
    /// The wear-detection capabilities supported by the device
    var wearDetectionCapability: WearDetectionCapability { get }
}

Özellikler

ÖzellikTürAçıklama
wearDetectionCapabilityWearDetectionCapabilityCihazın bildirdiği güncel yetenek.

Desteklenen Değerler

SwiftObjective-CAnlamı
.noneAIBudsWearDetectionCapabilityNoneDesteklenmiyor.
.supportedNotConfigurableAIBudsWearDetectionCapabilitySupportedNotConfigurableDestekleniyor ancak yapılandırılamıyor.
.supportedAndConfigurableAIBudsWearDetectionCapabilitySupportedAndConfigurableDestekleniyor ve yapılandırılabiliyor.

Kullanım Örnekleri

Swift
import AIBuds

guard let device = device as? DeviceWearDetectionAPI else {
    print("Wear detection is not exposed by this device")
    return
}

switch device.wearDetectionCapability {
case .none:
    print("Wear detection is not supported")
case .supportedNotConfigurable:
    print("Wear detection is supported but not configurable")
case .supportedAndConfigurable:
    print("Wear detection is supported and configurable")
@unknown default:
    print("Unknown wear-detection capability")
}

Hata Yönetimi

Bu özelliğin completion handler'ı yoktur. Protokol uyumsuzluğunu ve gelecekteki bilinmeyen enum değerlerini işleyin. .none geçerli bir yetenek değeridir; aktarım hatası olarak yorumlamayın.

En İyi Uygulamalar

  1. Yapılandırmadan Önce Okuyun: Etkinleştirme denetimini göstermeden önce yeteneği denetleyin.
  2. Tüm Yetenek Düzeylerini Koruyun: “Yapılandırılamıyor” ile “desteklenmiyor” durumlarını birleştirmeyin.
  3. Gelecekteki Değerleri İşleyin: Swift'te enum üzerinde switch yaparken @unknown default kullanın.

Notlar

  • Bu API eşzamanlı özellik okumasıdır; eşzamansız getWearDetectionSupport yöntemi değildir.
  • SDK Demo'su yapılandırma denetimlerinin gösterilip gösterilmeyeceğine bu özellikle karar verir.