我有一个 iOS 应用程序可以扫描 BLE 外围设备,其中可能有很多,并允许用户决定是否连接到设备。连接后,用户还可以决定断开连接。所有这一切都很好。
我还想添加一个选项,允许用户改变主意并重新扫描设备,但这似乎有问题。最明显的方法似乎是停止扫描并重新启动它,如下所示:
[centralManager stopScan];
CBUUID *myServiceUUID = [CBUUID UUIDWithString: SERVICE_MYSERVICE];
NSArray *services = [[NSArray alloc] initWithObjects: myServiceUUID, nil];
[centralManager scanForPeripheralsWithServices: services options: nil];
这不起作用。
最终,iOS 决定告诉我的应用该设备再次投放广告,但这需要几分钟。
如何说服 iOS 在不等待几分钟的情况下第二次告诉我有关外围设备的信息?