欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

iOS基础-蓝牙功能项目开发教程

程序员文章站 2022-10-26 08:47:23
最近做了几个蓝牙项目,写一下过程,方便大家。 本文章介绍手机为*设备的情形 第一步 遵循代理 @interface dbblemanager () 第二步 设置蓝牙属性 @property...

最近做了几个蓝牙项目,写一下过程,方便大家。

本文章介绍手机为*设备的情形

第一步 遵循代理

@interface dbblemanager ()

第二步 设置蓝牙属性

@property (nonatomic ,strong)cbcentralmanager *mycentralmanager;

第三步 实例化

_mycentralmanager = [[cbcentralmanager alloc]initwithdelegate:self queue:nil options:nil];

第四步 实现代理方法

- (void)centralmanagerdidupdatestate:(cbcentralmanager *)central
{
    if (central.state == cbcentralmanagerstatepoweredon) {
        nslog(@"蓝牙已打开");
        nsdictionary *options = [nsdictionary dictionarywithobjectsandkeys:[nsnumber  numberwithbool:yes], cbcentralmanagerscanoptionallowduplicateskey, nil];
        扫描
        [_mycentralmanager scanforperipheralswithservices:nil options:options];
    }else {
        nslog(@"蓝牙已关闭");
        nsurl  *url=[nsurl urlwithstring:@"prefs:root=bluetooth"];
        [[uiapplication sharedapplication]openurl:url];
        [dbtipview progresshud:@"设置-蓝牙-打开蓝牙"];
    }
}

第五步 代理返回蓝牙外设 连接

- (void)centralmanager:(cbcentralmanager *)central diddiscoverperipheral:(cbperipheral *)peripheral advertisementdata:(nsdictionary *)advertisementdata rssi:(nsnumber *)rssi
{
              [_mycentralmanager connectperipheral:peripheral options:nil];
}

第六步

 连接上蓝牙
- (void)centralmanager:(cbcentralmanager *)central didconnectperipheral:(cbperipheral *)peripheral
{
       [_mycentralmanager stopscan];    
}
//连接失败
- (void)centralmanager:(cbcentralmanager *)central didfailtoconnectperipheral:(cbperipheral *)peripheral error:(nullable nserror *)error{
}

//失去连接
-(void)centralmanager:(cbcentralmanager *)central diddisconnectperipheral:(cbperipheral *)peripheral error:(nserror *)error{

}

接下来会开放一个 蓝牙的简单封装。