首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS CBPeripheral连接问题

iOS CBPeripheral连接问题
EN

Stack Overflow用户
提问于 2015-12-16 18:57:06
回答 1查看 214关注 0票数 0

我调用方法

(void)connectPeripheral:(CBPeripheral *)peripheral options:(nullable NSDictionary<NSString *, id> *)options;

连接我的设备,我的设备在范围内,但我的应用程序仍然无法连接我的设备成功,当我关闭系统BT然后打开BT时,我的应用程序将连接我的设备成功,我不知道为什么?

如果没有关闭BT然后再打开,我可以调用first call方法吗

代码语言:javascript
复制
(void)cancelPeripheralConnection:(CBPeripheral *)peripheral;

然后调用

(void)connectPeripheral:(CBPeripheral *)peripheral options:(nullable NSDictionary<NSString *, id> *)options;

这会有意义吗?

EN

回答 1

Stack Overflow用户

发布于 2018-11-29 15:29:12

要检查设备是否已连接,您可以使用以下两个委托方法:C:

1) -(空)centralManager:(CBCentralManager*)中央didConnectPeripheral:(CBPeripheral *)外围

2) -(空)centralManager:(CBCentralManager*)中央错误:(CBPeripheral*)外围错误:(NSError*)错误

代码语言:javascript
复制
@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:

代码语言:javascript
复制
-(void)HRMoniterStatus:(CBPeripheral *)HRMoniter Status:(NSString 
*)connectionStatus
{
  NSLog(@"HRMoniter connection status ::- %@",connectionStatus);
}

Swift :

1)函数中心(_centralManager: CBCentralManager,didConnect外围设备: CBPeripheral)

2)功能中心(_centralManager: CBCentralManager,didDisconnectPeripheral外围设备: CBPeripheral,错误:?)

代码语言:javascript
复制
let heartRateServiceCBUUID = CBUUID(string: "0x180D")

let heartRatePeripheral : CBPeripheral

func centralManager(_ central: CBCentralManager, didConnect peripheral: CBPeripheral)
{
    Customdelegate.hrMoniterStatus(peripheral, status: "Connected")
    heartRatePeripheral.discoverServices([heartRateServiceCBUUID])
}

自定义代理:

代码语言:javascript
复制
func hrMoniterStatus(_ HRMoniter: CBPeripheral?, status connectionStatus: String?) 
{
   print("HRMoniter connection status ::- \(connectionStatus ?? "")")
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34310166

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档