Я действительно не думаю, что существует связь между 2. BT и BTLE управляются разными чипами на периферийной стороне и на стороне телефона.
Обычно в BT вы используете MAC-адрес для идентификации периферийного устройства на стороне BTLE.MAC-адрес больше не используется, поскольку iOS при первом подключении дает свой собственный идентификатор периферийному устройству.
Вероятно, вы можете сделать это на стороне встроенного программного обеспечения, предоставив сервису характеристику, которая каким-то образом связана с 2.
ОБНОВЛЕНИЕ ПОСЛЕ КОММЕНТАРИИ
Я вижу, насколько я знаю, что лучшей практики не существует. Хуже всего то, что вам приходится обрабатывать соединения по-разному, в основном из-за того, как соединение установлено на стороне iOS,В то время как в BLE вы можете выбрать незашифрованное соединение, которое не требует сопряжения или соединения, на стороне BT я предполагаю, что соединение требуется.
Вероятно, самым простым потоком будет соединение пользователя с устройством BT.Как только вы окажетесь в приложении и обнаружите подключенное устройство BT, используйте метод сканирования для обнаружения сопутствующего устройства BLE путем фильтрации определенного идентификатора службы, предоставляемого вашим устройством. После этого вы также можете фильтровать обнаружения, используя имя BLE, не делая при этомСоединение.
Пакет Adv ограничен по размеру (29 используемых байт), но вы также можете использовать ответ сканирования (31 байт), который предоставляет некоторые дополнительные свойства, такие как данные производителя, которые будут отображаться в словаре (kCBAdvDataManufacturerData
).
Как только вы узнаете, что это правильное устройство, вы можете установить соединение, для которого не требуется пара или соединение, но НЕ зашифровано (Pair and Bond потребует от пользователя принять соединение внутри вашего приложения).