killapp/Assets/Plugins/iOS/BluetoothHelper.mm
“虞渠成” a30c334bb5 设备绑定
2026-04-28 16:35:51 +08:00

42 lines
1.4 KiB
Plaintext

#import <Foundation/Foundation.h>
#import <CoreBluetooth/CoreBluetooth.h>
// 全局 CBCentralManager 用于检查蓝牙状态
static CBCentralManager *centralManager = nil;
extern "C" {
// 获取蓝牙状态
// 0 = Unknown, 1 = Resetting, 2 = Unsupported, 3 = Unauthorized, 4 = PoweredOff, 5 = PoweredOn
int GetBluetoothStateIOS() {
if (centralManager == nil) {
centralManager = [[CBCentralManager alloc] initWithDelegate:nil queue:nil options:@{CBCentralManagerOptionShowPowerAlertKey: @NO}];
}
switch (centralManager.state) {
case CBManagerStateUnknown:
return 0;
case CBManagerStateResetting:
return 1;
case CBManagerStateUnsupported:
return 2;
case CBManagerStateUnauthorized:
return 3;
case CBManagerStatePoweredOff:
return 4;
case CBManagerStatePoweredOn:
return 5;
default:
return 0;
}
}
// 打开蓝牙设置页面
void OpenBluetoothSettingsIOS() {
// iOS 10+ 使用 UIApplicationOpenSettingsURLString
NSURL *settingsURL = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
if ([[UIApplication sharedApplication] canOpenURL:settingsURL]) {
[[UIApplication sharedApplication] openURL:settingsURL options:@{} completionHandler:nil];
}
}
}