检测iPad上的蓝牙是否已启用iOS 7

检测iPad上的蓝牙是否已启用iOS 7,ios,objective-c,ipad,ios7,bluetooth,Ios,Objective C,Ipad,Ios7,Bluetooth,我只是想检测,当我的应用程序在iPad上启动时,设备上的蓝牙是否已启用 具体来说,我想在我的iPad上启动应用程序,让应用程序检查后台设备上是否启用了蓝牙,如果启用了蓝牙,应用程序将不执行任何操作,但如果禁用蓝牙,则会触发警报,提示用户打开蓝牙。我已经对此做了研究,但还没有找到一个清晰简洁的答案来回答我的问题。非常感谢您的帮助。如果您在应用程序中实例化CBCentralManager,ios将自动提示用户从“设置”页面启用蓝牙 在viewDidLoad或一些顶级函数中添加以下内容: _centr

我只是想检测,当我的应用程序在iPad上启动时,设备上的蓝牙是否已启用


具体来说,我想在我的iPad上启动应用程序,让应用程序检查后台设备上是否启用了蓝牙,如果启用了蓝牙,应用程序将不执行任何操作,但如果禁用蓝牙,则会触发警报,提示用户打开蓝牙。我已经对此做了研究,但还没有找到一个清晰简洁的答案来回答我的问题。非常感谢您的帮助。

如果您在应用程序中实例化CBCentralManager,ios将自动提示用户从“设置”页面启用蓝牙

在viewDidLoad或一些顶级函数中添加以下内容:

_centralManager = [[CBCentralManager alloc] initWithDelegate:self queue:nil];
您可以覆盖“CentralManagerDipDateState”以捕获回调:

- (void)centralManagerDidUpdateState:(CBCentralManager *)central {
    if (central.state == CBCentralManagerStatePoweredOn) {
        //Do what you intend to do
    } else if(central.state == CBCentralManagerStatePoweredOff) {
        //Bluetooth is disabled. ios pops-up an alert automatically
    }
}

如果您在应用程序中实例化CBCentralManager,ios将自动提示用户从“设置”页面启用蓝牙

在viewDidLoad或一些顶级函数中添加以下内容:

_centralManager = [[CBCentralManager alloc] initWithDelegate:self queue:nil];
您可以覆盖“CentralManagerDipDateState”以捕获回调:

- (void)centralManagerDidUpdateState:(CBCentralManager *)central {
    if (central.state == CBCentralManagerStatePoweredOn) {
        //Do what you intend to do
    } else if(central.state == CBCentralManagerStatePoweredOff) {
        //Bluetooth is disabled. ios pops-up an alert automatically
    }
}

对于iOS 10,接受的答案需要稍微更新

CBCentralManagerStatePoweredOn
CBCentralManagerStatePoweredOff
已被弃用,应替换为
CBManagerStatePoweredOn
CBManagerStatePoweredOff

更新代码:

- (void)centralManagerDidUpdateState:(CBCentralManager*)aManager
{
    if( aManager.state == CBManagerStatePoweredOn )
    {
        //Do what you intend to do
    }
    else if( aManager.state == CBManagerStatePoweredOff )
    {
        //Bluetooth is disabled. ios pops-up an alert automatically
    }
}

对于iOS 10,接受的答案需要稍微更新

CBCentralManagerStatePoweredOn
CBCentralManagerStatePoweredOff
已被弃用,应替换为
CBManagerStatePoweredOn
CBManagerStatePoweredOff

更新代码:

- (void)centralManagerDidUpdateState:(CBCentralManager*)aManager
{
    if( aManager.state == CBManagerStatePoweredOn )
    {
        //Do what you intend to do
    }
    else if( aManager.state == CBManagerStatePoweredOff )
    {
        //Bluetooth is disabled. ios pops-up an alert automatically
    }
}

查看您问题的答案可在此处找到:查看您问题的答案可在此处找到:with#import with#import