一直以来,在使用别人的app时,会经常看到一个”打开蓝牙来允许”xxx”连接到配件”的弹出框(如下图),
点击设置按钮,就可以跳转到ios系统的setting界面.
后来终于明白怎么回事了.原来是ios系统做的提示,就像使用系统相册一样,也会提示用户.
下面讲解怎么实现.
由于用到了蓝牙,就要使用CoreBluetooth.framework,即要把这个框架加入到工程.然后加入CBCentralManager类并建立Delegate.
///.h文件
#import <CoreBluetooth/CoreBluetooth.h>
@interface MainViewController : UIViewController<CBCentralManagerDelegate> {
}
@property (nonatomic, strong) CBCentralManager *manager;
@end
///.m文件
@implementation MainViewController
- (void)viewDidLoad {
_manager = [[CBCentralManager alloc] initWithDelegate:self queue:nil]; //重点这里要建立委托
}
//开始查看服务,蓝牙开启
-(void)centralManagerDidUpdateState:(CBCentralManager *)central
{
switch (central.state) {
case CBCentralManagerStatePoweredOn:
NSLog(@"蓝牙已打开,请扫描外设");
break;
case CBCentralManagerStatePoweredOff:
NSLog(@"蓝牙关闭...");
break;
default:
break;
}
}
这样在Setting界面中蓝牙处于关闭状态的时候,就会用图的提示了,点击弹出框中的”设置”,就跳转到蓝牙界面了.
注意:
一定要是蓝牙处于关闭状态.
同理于Wifi界面,应该是同一个原理,只不过还不清楚使用了哪个framework.