You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:修复Xcode中使用PolarBleSDK部署BLE心率阅读器的代码错误

修复PolarBleSDK 5.5.0编译错误方案

错误1:BLEManager类未遵循PolarBleApiDeviceHrObserver协议

SDK 5.5.0已废弃旧的观察者模式,无需再遵循PolarBleApiDeviceHrObserver协议,直接移除类声明中的协议即可。如果之前实现了协议的hrReceived方法,可保留作为心率数据的处理逻辑,后续对接新API时复用。

错误2:PolarBleSdkFeature无.hr成员

SDK 5.5.0中心率对应的枚举值已更新,将所有.hr替换为.heartRate即可。示例修改:

// 原代码
polarBleApi.requestPermissions(for: deviceId, features: [.hr])
// 修改后
polarBleApi.requestPermissions(for: deviceId, features: [.heartRate])

错误3:deviceHrObserver已废弃,需使用startHrStreaming API

替换旧的观察者注册逻辑,改用startHrStreaming API通过闭包接收实时心率数据,同时管理好流的生命周期避免内存泄漏。

修复后的BLEManager核心代码示例:

import PolarBleSdk

class BLEManager: ObservableObject {
    private var polarBleApi: PolarBleApi
    private var hrStreamDisposable: Disposable?

    init() {
        let apiConfig = PolarBleApiConfig(
            autoConnect: true,
            backgroundSupport: false,
            features: [.heartRate]
        )
        polarBleApi = PolarBleApiImpl.defaultImplementation(config: apiConfig)
    }

    // 启动心率流
    func startHeartRateStreaming(deviceId: String) {
        hrStreamDisposable = polarBleApi.startHrStreaming(forDevice: deviceId) { [weak self] hrData in
            // 处理实时心率数据
            let currentHr = hrData.hr
            let rrIntervals = hrData.rrs
            DispatchQueue.main.async {
                // 更新UI绑定的Observable变量,比如:
                // self?.currentHeartRate = currentHr
            }
        } onError: { error in
            print("心率流错误: \(error.localizedDescription)")
        }
    }

    // 停止心率流
    func stopHeartRateStreaming() {
        hrStreamDisposable?.dispose()
        hrStreamDisposable = nil
    }

    deinit {
        stopHeartRateStreaming()
    }
}

额外配置检查

确保info.plist已添加蓝牙权限:

  • NSBluetoothAlwaysUsageDescription(填写蓝牙使用用途描述)
  • NSBluetoothPeripheralUsageDescription(适配iOS 12及以下版本)

内容的提问来源于stack exchange,提问作者Ken11

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 15:09:56