ios藍(lán)牙基本使用方法

@implementation ViewController

- (void)viewDidLoad {

? ?[super viewDidLoad];

? ?// 藍(lán)牙

? ?// 1.創(chuàng)建一個(gè)藍(lán)牙對象

? ?self.manager = [[CBCentralManager alloc] initWithDelegate:self queue:dispatch_get_main_queue()];

? ?// 2.進(jìn)行檢索操作

? ?// nil: 任意的外設(shè)

? ?[self.manager scanForPeripheralsWithServices:nil options:nil];

}

// 如果藍(lán)牙的狀態(tài)改變的話,就會調(diào)用這個(gè)方法

// 這個(gè)方法一定要實(shí)現(xiàn),要不然會出錯(cuò).

- (void)centralManagerDidUpdateState:(CBCentralManager *)central;

{

? ?NSLog(@"藍(lán)牙的狀態(tài)改變了");

}

// 3.如果發(fā)現(xiàn)了藍(lán)牙設(shè)備,就會調(diào)用這個(gè)方法

- (void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI;

{

? ?// 4.連接外設(shè)(別的藍(lán)牙設(shè)備)

? ?[self.manager connectPeripheral:peripheral options:0];

}

// 5.連接上某個(gè)設(shè)備后,調(diào)用這個(gè)方法

- (void)centralManager:(CBCentralManager *)central didConnectPeripheral:(CBPeripheral *)peripheral

{

? ?// 6.嘗試發(fā)現(xiàn)外設(shè)的某項(xiàng)服務(wù)

? ?[peripheral discoverServices:nil];

? ?peripheral.delegate = self;

}

// 7.如果發(fā)現(xiàn)某一項(xiàng)服務(wù),就調(diào)用這個(gè)方法

- (void)peripheral:(CBPeripheral *)peripheral didDiscoverServices:(nullable NSError *)error;

{

? ?if (error) {

? ? ? ?return;

? ?}

? ?for (CBService *service in peripheral.services) {

? ? ? ?if ([service.UUID.UUIDString isEqualToString:@"123"]) {

? ? ? ? ? ?// 尋找所對應(yīng)的特征

? ? ? ? ? ?[peripheral discoverCharacteristics:nil forService:service];

? ? ? ?}

? ?}

}

// 8.找到這個(gè)服務(wù)所組成的特征時(shí),調(diào)用這個(gè)方法

- (void)peripheral:(CBPeripheral *)peripheral didDiscoverCharacteristicsForService:(CBService *)service error:(NSError *)error

{

? ?NSLog(@"可以進(jìn)行一些通訊操作.傳值操作");

}

@end

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容