这是开发者经常会忽略的一个问题,导致app发布到线上才发现这个bug,界面扫描到多个相同设备,用户也不知道点哪一个,如果点到已经被释放的蓝牙对象,还会出现配网失败
解决方案:因为uuid是设备的唯一标识符,开发者可以在扫描结果回调里面利用uuid进行去重
Code: Select all
// 设置代理
[TuyaSmartBLEManager sharedInstance].delegate = self;
// 开始扫描
[[TuyaSmartBLEManager sharedInstance] startListening:YES];
/**
* 扫描到未激活的设备
*
* @param deviceInfo 未激活设备信息 Model
*/
- (void)didDiscoveryDeviceWithDeviceInfo:(TYBLEAdvModel *)deviceInfo {
//这里进行去重判断
}
原因:为什么sdk不帮我完成去重操作呢?为了保证sdk的灵活性,因为uuid作为唯一标识符号是业务层的设计,所以sdk层就不参与了