我正在开发适用于 iOS 的蓝牙 LE 应用程序。我使用 iOS 中的核心蓝牙框架来处理所有通信。
问题及描述:
当我使用单个标签时,尽管有多次连接和断开连接,单个标签仍可以无缝连接,并且手机会发现它的服务。
此外,当多个蓝牙 LE 标签首次连接时,它们会无缝连接,并且手机会发现它们的服务。
当标签断开连接然后重新连接到手机时,标签连接良好。但这两个标签之一(任一者)似乎并没有宣传其服务。即当应用程序打开并且标签重新连接时,发现服务方法不调用didDiscoverServices代表。
为什么只有在与多个设备连接时才会发生这种情况。
我已经设置了外设.delegate正确。我已经尝试了一切,包括重复重新连接、重复对标签进行 DiscoverServices 调用。似乎什么都不起作用。
如何将多个标签重新连接到手机并仍然发现所有服务。
请帮忙
Thanks,
Manju
我遇到了同样的问题,但意识到我没有设置delegate
to CBPeripheral
after didConnectPeripheral
叫做。
- (void) centralManager:(CBCentralManager *)central didConnectPeripheral:(CBPeripheral *)peripheral
{
NSLog(@"Peripheral Connected: %@", peripheral.name);
peripheral.delegate = self;
if (peripheral.services) {
[self peripheral:peripheral didDiscoverServices:nil];
} else {
[peripheral discoverServices:@[[CBUUID UUIDWithString:CUSTOM_UUID]]];
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)