/**
* 發(fā)現(xiàn)外部設(shè)備饥瓷,每發(fā)現(xiàn)一個(gè)就會(huì)調(diào)用這個(gè)方法
* 所以可以使用一個(gè)數(shù)組來(lái)存儲(chǔ)每次掃描出來(lái)的外設(shè)
*/
- (void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary<NSString *,id> *)advertisementData RSSI:(NSNumber *)RSSI
通常我們?cè)谠摲椒ㄏ驴梢哉业剿{(lán)牙的廣播名稱槐臀、名稱蜡峰、標(biāo)識(shí)葡幸。
例如:
NSString *CBName = [advertisementData valueForKeyPath:CBAdvertisementDataLocalNameKey];
NSLog(@"[掃描出的外設(shè)]:廣播名稱:%@,名稱:%@,標(biāo)識(shí):%@",CBName,peripheral.name,peripheral.identifier.UUIDString);
然而我們想要找的藍(lán)牙的Mac地址最筒,首先可以通過(guò)讓硬件(嵌入式)工程師把藍(lán)牙的名字改成Mac地址,這樣就可以拿到了蔚叨,但是這個(gè)名字可以通過(guò)外部設(shè)置改掉床蜘,可以改變。
重點(diǎn)來(lái)了哦
通過(guò)查閱藍(lán)牙開(kāi)發(fā)文檔蔑水,找到硬件在燒錄程序是有可以燒錄廠商信息
我們通過(guò)kCBAdvDataManufacturerData 字典找到邢锯。
這里需要硬件工程師修改 廣播字段 廠商信息,如圖:
iOS具體如下:
NSData *data = [advertisementData objectForKey:@"kCBAdvDataManufacturerData"];
發(fā)現(xiàn)是 NSData類型搀别,將其轉(zhuǎn)換NSString丹擎,得到是例如:c7005566cc7788dd,其中這里的c700是廠家編號(hào)领曼,有硬件工程師控制燒錄鸥鹉,后邊的為Mac,但這個(gè)Mac可能由于高低位導(dǎo)致庶骄,位置順序不對(duì)毁渗,需要和硬件工程師核對(duì),自行修改单刁。
我的修改如下:
NSLog(@"%@",mac);
if (mac && !(mac == NULL) && !(mac == nil) && ![mac isEqual:[NSNull null]] && (mac.length >= 2)) {
NSString *str9990 = [mac substringWithRange:NSMakeRange(0,2)];
if ([str9990 isEqualToString:@"c7"]) {
NSString *string01 = [mac substringWithRange:NSMakeRange(4,2)];//截取范圍內(nèi)的字符串
NSString *string02 = [mac substringWithRange:NSMakeRange(6,2)];//截取范圍內(nèi)的字符串
NSString *string03 = [mac substringWithRange:NSMakeRange(8,2)];//截取范圍內(nèi)的字符串
NSString *string04 = [mac substringWithRange:NSMakeRange(10,2)];//截取范圍內(nèi)的字符串
NSString *string05 = [mac substringWithRange:NSMakeRange(12,2)];//截取范圍內(nèi)的字符串
NSString *string06 = [mac substringWithRange:NSMakeRange(14,2)];//截取范圍內(nèi)的字符串
NSString *CBmacstr = [NSString stringWithFormat:@"%@:%@:%@:%@:%@:%@",string01,string02,string03,string04,string05,string06];
NSString *macdtttr = [CBmacstr uppercaseString];// 全部大寫(xiě)
NSLog(@"mac地址為:%@",macdtttr);
}
}
我是愛(ài)超越的歡灸异,本文為原創(chuàng)府适,如轉(zhuǎn)載請(qǐng)請(qǐng)注明出處。