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

如何在macOS上通过Objective-C/Swift编程检测Bluetooth支持?

判断macOS设备是否支持蓝牙(Swift/Objective-C实现)

Swift 实现

基于CoreBluetooth框架可直接检测设备硬件的蓝牙支持性,无需额外权限:

import CoreBluetooth

func isBluetoothSupported() -> Bool {
    let centralManager = CBCentralManager(delegate: nil, queue: nil)
    return centralManager.state == .supported
}

// 调用示例
let isSupported = isBluetoothSupported()
print("当前设备是否支持蓝牙: \(isSupported)")

说明:CBCentralManager的state属性会返回蓝牙状态,其中.supported表示设备硬件原生支持蓝牙;其他状态如.poweredOff是蓝牙已关闭、.unauthorized是权限不足,这些均不属于硬件不支持的情况。

Objective-C 实现

同样基于CoreBluetooth框架,代码如下:

#import <CoreBluetooth/CoreBluetooth.h>

BOOL isBluetoothSupported() {
    CBCentralManager *centralManager = [[CBCentralManager alloc] initWithDelegate:nil queue:nil];
    return centralManager.state == CBCentralManagerStateSupported;
}

// 调用示例
BOOL isSupported = isBluetoothSupported();
NSLog(@"当前设备是否支持蓝牙: %d", isSupported);

说明:Objective-C中对应的状态枚举是CBCentralManagerStateSupported,逻辑与Swift一致,仅需判断状态是否等于该值即可确认硬件支持性。

注意:项目需要引入CoreBluetooth框架,可在Xcode的Build Phases -> Link Binary With Libraries中添加,或在代码中使用@import CoreBluetooth;(Objective-C)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 05:44:56