#import
//中心管理者
@property (nonatomic,strong)cbcentralmanager * themanager;
@property (nonatomic,strong)cbperipheral * theperpher
;@property (nonatomic,strong)cbcharacteristic *writedatacharacteristic;
3.初始化cbcentralmanager
-(cbcentralmanager *) themanager
return _themanager;
}
4.開始掃瞄藍芽
[self.themanager
scanforperipheralswithservices:nil options:@];
5.當藍芽狀態改變是會呼叫這個方法
- (void)centralmanagerdidupdatestate:(cbcentralmanager *)central];
}else
}}
6.鏈結外圍裝置
- (void)connect:(cbperipheral *)peripheral
7.掃瞄到裝置會進入成功方法
//連線到peripherals-成功 //掃瞄外設中的服務和特徵 連線上外圍裝置的時候會呼叫該方法
- (void)centralmanager:(cbcentralmanager *)central didconnectperipheral:(cbperipheral *)peripheral
//連線到peripherals-失敗
-(void)centralmanager:(cbcentralmanager *)central didfailtoconnectperipheral:(cbperipheral *)peripheral error:(nserror *)error
8.發現服務裝置
//發現服務
- (void)centralmanager:(cbcentralmanager *)central diddiscoverperipheral:(cbperipheral *)peripheral advertisementdata:(nsdictionary *)advertisementdata rssi:(nsnumber *)rssi);
}}
/**
* 發現外圍裝置的服務會來到該方法(掃瞄到服務之後直接新增peripheral的services)
*/- (void)peripheral:(cbperipheral *)peripheral diddiscoverservices:(nserror *)error
}}
9. 找到了裝置的服務,然後掃瞄特徵
//掃瞄到特徵
- (void)peripheral:(cbperipheral *)peripheral diddiscovercharacteristicsforservice:(cbservice *)service error:(nserror *)error
nslog(@"掃瞄到外設服務特徵有:%@->%@->%@",peripheral.name,service.uuid,service.characteristics);
//獲取characteristic的值
for (cbcharacteristic *characteristic in service.characteristics)
//電池電量
else if ([characteristic.uuid.uuidstring isequaltostring:butery])
else if ([characteristic.uuid.uuidstring isequaltostring:shake])
//裝置資訊
else if ([characteristic.uuid.uuidstring isequaltostring:device])}}
}
//掃瞄到具體的值
- (void)peripheral:(cbperipheral *)peripheral didupdatevalueforcharacteristic:(cbcharacteristic *)characteristic error:(nullable nserror *)error
//與外設斷開連線
- (void)centralmanager:(cbcentralmanager *)central diddisconnectperipheral:(cbperipheral *)peripheral error:(nserror *)error
10.寫資料
//寫資料
-(void)writecharacteristic:(cbperipheral *)peripheral
characteristic:(cbcharacteristic *)characteristic
value:(nsdata *)value
else
}
iOS開發 藍芽後台接收資料 BLE4 0
最近在做乙個藍芽相關的專案,需要在應用進入後台,或者手機屬於鎖屏狀態的情況下,仍然保持藍芽連線,並且能正常接收資料。本來以後會很麻煩,但是學習了下.發現就2步而已。簡單的不能再簡單了。好了。下面是具體實現辦法。1.在 info.plist檔案中,新建一行required background mod...
iOS開發 藍芽後台接收資料 BLE4 0
最近在做乙個藍芽相關的專案,需要在應用進入後台,或者手機屬於鎖屏狀態的情況下,仍然保持藍芽連線,並且能正常接收資料。本來以後會很麻煩,但是學習了下.發現就2步而已。簡單的不能再簡單了。好了。下面是具體實現辦法。1.在 info.plist檔案中,新建一行required background mod...
iOS開發 藍芽後台接收資料 BLE4 0
最近在做乙個藍芽相關的專案,需要在應用進入後台,或者手機屬於鎖屏狀態的情況下,仍然保持藍芽連線,並且能正常接收資料。本來以後會很麻煩,但是學習了下.發現就2步而已。簡單的不能再簡單了。好了。下面是具體實現辦法。1.在 info.plist檔案中,新建一行required background mod...