Метод CBCentralManager retrievePeripheralsWithIdentifiers:
Возвращает список известных периферийных устройств по их идентификаторам.
... при передаче списка UUID.
Где хранятся эти идентификаторы и как долго? Или они генерируются из предоставленных UUID?
Другими словами, если мое приложение хранит UUID устройства, которое оно обнаруживает обычным способом, и предполагая, что UUID этого устройства никогда не меняется, могу ли я использовать retrievePeripheralsWithIdentifiers:
в любой момент в будущем с этим UUID вместо того, чтобы выполнять еще одно сканирование ?
Связанный:
- Попытка получить ранее сопряженный Bluetooth устройство в приложении IOS не будет отвечать ошибкой, если устройство выключено
- Что такое BLE-подключенное устройство на iOS? а>
ОБНОВЛЕНИЕ
Из экспериментов выяснилось, что данные хранятся в каком-то хранилище, специфичном для приложения, и поэтому теряются при завершении работы приложения.
Я столкнулся с каким-то странным поведением. Если после отключения от устройства приложение делает недействительным свой указатель на CBPeripheral, а затем извлекает его с помощью retrievePeripheralsWithIdentifiers
и использует его для подключения, то ничего не происходит.
Однако, если приложение никогда не аннулирует свой указатель и использует его (вместо извлеченного значения) для подключения, тогда все работает нормально.
Тем не менее, это лишает смысла поиск в первую очередь. Так я что-то пропустил здесь?