BabyBluetooth icon indicating copy to clipboard operation
BabyBluetooth copied to clipboard

请问大佬, 为什么扫描的方法要在 block 内进行延迟扫描才不会影响其他 block 的绑定

Open HolmesZhao opened this issue 6 years ago • 1 comments

//连接Peripherals成功的委托
-(void)setBlockOnConnected:(void (^)(CBCentralManager *central,CBPeripheral *peripheral))block;

在这个方法中我尝试使用 self.baby.scanForPeripherals().begin(); 在回调用进行开启扫描, 因为在连接的是如果我不取消扫描就会把我扫描的设备都连接一遍, 所以我在这里进行重新打开扫描, 但是我在这里直接使用就会造成其他的 block 无法使用如下block, 我发现必须延迟两秒以后在进行扫描才不会影响这个 block 的调用~求大佬讲解一下

//设置查找到Characteristics描述的block
- (void)setBlockOnDiscoverDescriptorsForCharacteristicAtChannel:(NSString *)channel
                                                         block:(void (^)(CBPeripheral*peripheral,CBCharacteristic*service,NSError *error))block

HolmesZhao avatar Jan 06 '19 08:01 HolmesZhao

有个疑问,为啥要在已经连接设置成功了,还要再去扫码设备呢。 是不是应该在“self.baby.scanForPeripherals().begin()”之前,将所有block都设置好。这样就不会有你说的问题了。

yinanwang1 avatar Jun 26 '19 11:06 yinanwang1