我调用方法
(void)connectPeripheral:(CBPeripheral *)peripheral options:(nullable NSDictionary<NSString *, id> *)options;
连接我的设备,我的设备在范围内,但我的应用程序仍然无法连接我的设备成功,当我关闭系统BT然后打开BT时,我的应用程序将连接我的设备成功,我不知道为什么?
如果没有关闭BT然后再打开,我可以调用first call方法吗
(void)cancelPeripheralConnection:(CBPeripheral *)peripheral;然后调用
(void)connectPeripheral:(CBPeripheral *)peripheral options:(nullable NSDictionary<NSString *, id> *)options;
这会有意义吗?
发布于 2018-11-29 15:29:12
要检查设备是否已连接,您可以使用以下两个委托方法:C:
1) -(空)centralManager:(CBCentralManager*)中央didConnectPeripheral:(CBPeripheral *)外围
2) -(空)centralManager:(CBCentralManager*)中央错误:(CBPeripheral*)外围错误:(NSError*)错误
@property (nonatomic, strong) CBPeripheral *heartRatePeripheral;
#define heartRateServiceCBUUID [CBUUID UUIDWithString:@"0x180D"]
-(void)centralManager:(CBCentralManager *)central didConnectPeripheral:(CBPeripheral
*)peripheral
{
[self.Customdelegate HRMoniterStatus:peripheral Status:@"Connected"];
[_heartRatePeripheral discoverServices:@[heartRateServiceCBUUID]];
}CustomDelegate:
-(void)HRMoniterStatus:(CBPeripheral *)HRMoniter Status:(NSString
*)connectionStatus
{
NSLog(@"HRMoniter connection status ::- %@",connectionStatus);
}Swift :
1)函数中心(_centralManager: CBCentralManager,didConnect外围设备: CBPeripheral)
2)功能中心(_centralManager: CBCentralManager,didDisconnectPeripheral外围设备: CBPeripheral,错误:?)
let heartRateServiceCBUUID = CBUUID(string: "0x180D")
let heartRatePeripheral : CBPeripheral
func centralManager(_ central: CBCentralManager, didConnect peripheral: CBPeripheral)
{
Customdelegate.hrMoniterStatus(peripheral, status: "Connected")
heartRatePeripheral.discoverServices([heartRateServiceCBUUID])
}自定义代理:
func hrMoniterStatus(_ HRMoniter: CBPeripheral?, status connectionStatus: String?)
{
print("HRMoniter connection status ::- \(connectionStatus ?? "")")
}https://stackoverflow.com/questions/34310166
复制相似问题