From d6d9a09d505d11148599a95a5be3e1351edbe0ac Mon Sep 17 00:00:00 2001 From: hc Date: Mon, 13 Apr 2026 15:17:52 +0800 Subject: Local iHealth SDK, device detail screen, iOS event fixes --- .../Headers/IDOBluetoothManager.h | 166 +++++++++++++++++++++ 1 file changed, 166 insertions(+) create mode 100755 libs/ihealth-sdk/ios/ReactNativeIOSLibrary/Communication_SDK/Headers/IDOBluetoothManager.h (limited to 'libs/ihealth-sdk/ios/ReactNativeIOSLibrary/Communication_SDK/Headers/IDOBluetoothManager.h') diff --git a/libs/ihealth-sdk/ios/ReactNativeIOSLibrary/Communication_SDK/Headers/IDOBluetoothManager.h b/libs/ihealth-sdk/ios/ReactNativeIOSLibrary/Communication_SDK/Headers/IDOBluetoothManager.h new file mode 100755 index 0000000..72c1a0b --- /dev/null +++ b/libs/ihealth-sdk/ios/ReactNativeIOSLibrary/Communication_SDK/Headers/IDOBluetoothManager.h @@ -0,0 +1,166 @@ +// +// IDOBluetoothManager.h +// VeryfitSDK +// +// Created by hedongyang on 2018/6/4. +// Copyright © 2018年 hedongyang. All rights reserved. +// + +#import +#import +#if __has_include() +#elif __has_include() +#else +#import "IDOBlueEnum.h" +#import "IDOPeripheralModel.h" +#endif + +@class IDOBluetoothManager; + +@protocol IDOBluetoothManagerDelegate + +/** + * @brief 扫描所有外围设备 | Scan all peripherals + * @param manager IDO蓝牙管理中心 | IDO Bluetooth Management Center + * @param allDevices 扫描所有外围设备(包括OTA设备集合) | Scan all peripherals (including OTA device collections) + * @param otaDevices OTA 设备集合 | OTA Device Collection + */ +- (void)bluetoothManager:(IDOBluetoothManager *)manager + allDevices:(NSArray *)allDevices + otaDevices:(NSArray *)otaDevices; + + +/** + * @brief 连接设备成功回调 | Connected device successfully callback + * @param manager IDO蓝牙管理中心 | IDO Bluetooth Management Center + * @param centerManager 蓝牙管理中心 | Bluetooth Management Center + * @param peripheral 外围设备 | Peripherals + * @param isOtaMode 连接是否在OTA模式 | Is the connection in OTA mode? + * @return 是或否 | yes or no + */ +- (BOOL)bluetoothManager:(IDOBluetoothManager *)manager + centerManager:(CBCentralManager *)centerManager + didConnectPeripheral:(CBPeripheral *)peripheral + isOatMode:(BOOL)isOtaMode; + +/** + * @brief 蓝牙管理状态 | Bluetooth management status + * @param manager IDO蓝牙管理中心 | IDO Bluetooth Management Center + * @param state 状态 | Status + */ +- (void)bluetoothManager:(IDOBluetoothManager *)manager + didUpdateState:(IDO_BLUETOOTH_MANAGER_STATE)state; + +/** + * @brief 连接设备错误回调,当解绑设备断开连接时不会回调此方法 + * Connection Device Error Callback,This method is not called back when the unbound device is disconnected. + * @param manager IDO蓝牙管理中心 | IDO Bluetooth Management Center + * @param error 错误信息 | Error message + */ +- (void)bluetoothManager:(IDOBluetoothManager *)manager + connectPeripheralError:(NSError *)error; + +@end + +@interface IDOBluetoothManager : NSObject + +/** + 设置代理 | Setting up the agent + */ +@property (nonatomic,weak) id delegate; + +/** + * 自动扫描连接超时时长 默认 20 + * Auto Scan Connection Timeout Duration Default 20 + */ +@property (nonatomic,assign) NSInteger timeout; + +/** + * 设置扫描过滤信号弱的设备 默认值 80 大于80会被过滤 + * Set the device with weak scan filtering signal. Default value 80 is greater than 80 will be filtered. + */ +@property (nonatomic,assign) NSInteger rssiNum; + +/** + * 是否启动超时,间隔扫描 默认 yes 默认10秒间隔扫描一次 + * Whether to start timeout, interval scan Default yes Default scan at 10-second intervals + */ +@property (nonatomic,assign) BOOL isIntervalScan; + +/** + * 是否需要重连机制 默认 YES 如果设置 NO 断线后不会重连 + * Whether a reconnect mechanism is required,if NO set,connection will not be reconnected + */ +@property (nonatomic,assign) BOOL isReconnect; + +/** + * 设置扫描间隔时长 默认 10秒 如果不启动超时间隔扫描,则无效 + * Set the scan interval to 10 seconds by default.if timeout interval scanning is not started, it is not valid. + */ +@property (nonatomic,assign) NSInteger autoScanInterval; + +/** + 蓝牙扫描设备模式 | Bluetooth Scanning Device Mode + */ +@property (nonatomic,assign,readonly) IDO_SCAN_DEVICE_MODE scanMode; + +/** + 蓝牙管理连接状态 | Bluetooth management connection status + */ +@property (nonatomic,assign,readonly) IDO_BLUETOOTH_MANAGER_STATE state; + +/** + 蓝牙连接错误码 | Bluetooth connection error code + */ +@property (nonatomic,assign,readonly) IDO_BLUETOOTH_CONNECT_ERROR_TYPE errorCode; + +/** + * 手动点击连接设备的总时长 + * Total time to manually click on the connected device + */ +@property (nonatomic,assign,readonly) NSInteger manualConnectTotalTime; + +/** + * 自动扫描到成功连接设备的总时长 + * Total time from automatic scanning to successful connection to the device + */ +@property (nonatomic,assign,readonly) NSInteger autoConnectTotalTime; + +/** + * @brief 初始化IDO蓝牙管理中心对象 + * Initialize IDO the Bluetooth Management Center object + * @return IDOBluetoothManager + */ ++ (__kindof IDOBluetoothManager *)shareInstance; + +/** + * @brief 初始化系统蓝牙管理中心对象并刷新蓝牙代理 + * Initializes the system bluetooth management center object and refreshes the bluetooth delegate + */ ++ (void)refreshDelegate; + +/** + 开始扫描 | Start scanning + */ ++ (void)startScan; + +/** + 停止扫描 | Stop scanning + */ ++ (void)stopScan; + +/** + * @brief 1、普通模式下选择外围设备连接 2、ota模式下选择外围设备连接 + * 1. Select peripheral device connection in normal mode + * 2. Select peripheral device connection in ota mode + * @param model IDOPeripheralModel 对象 | IDOPeripheralModel object + */ ++ (void)connectDeviceWithModel:(IDOPeripheralModel *)model; + +/** + 断开当前外围设备的连接 | Disconnect the current peripheral device + */ ++ (void)cancelCurrentPeripheralConnection; + +@end + -- cgit