iPhone With Windows 10 - New Bluetooth Pairing is requested when logging into Windows even though pairing has already been completed on iPhone.
iPhone With Windows 10 Enterprise Via Bluetooth Low Energy (GATT)
Bluetooth pairing is requested when logging into Windows even though pairing has already been completed. After that, even if the pairing is done, pairing will be asked again at the next login to Windows every time when the Windows is restarted.
Our iOS app acts as a Bluetooth central and the other as a peripheral (Bluetooth Driver on Windows).
when the app is trying to connect using Bluetooth Low Energy (GATT) at step 5 as mentioned below, new pairing is requested from windows every time when the PC is restarted.
Steps to reproduce the problem:
- S1: log into Windows and connect the app to the Windows computer
- S2: See the paring request on Windows and on iPhone,
- S3: Pair on both Windows and iPhone
- S4: Turn off the Bluetooth toggle on iPhone and then turn it on
- S5: Restart windows and see the login screen
- S6: Start the app on your iPhone and try to connect,
- S7: See the paring request on iPhone
With the above steps, if this issue is not reproducible, try rebooting the iPhone instead of changing the Bluetooth toggle at S4.
we also observe the iPhone device is receiving this log from Windows:
default 15:38:27.555377+0530 SpringBoard Received request to activate alertItem: <SBUserNotificationAlert: 0x105916a90; title: Bluetooth Pairing Request; source: bluetoothd; pid: 88>
We observed that looks like the issue reproduces more consistently when the windows restarts or reboots.
On the pairing request alert dialogue on iPhone, If I press "cancel", the app disconnects from the peripheral (Windows). If I press "pair", the peripheral nothing happens. However, Windows continues sending me pairing requests whenever the machine is restarted or rebooted.
We did not observe this behaviour with the Android Device. Windows and Android work without any problem (i.e. No new Pairing is requested once the device is paired in any situation).
In the below screenshots, we could see that the iPhone is already paired in Windows Bluetooth Settings but the Paring is requested from Windows on iPhone to pair again and in the background, our app is successfully connected to Windows using Bluetooth Low Energy (GATT).
Environment:
**
Windows details**
Edition Windows 10 Enterprise
Version 22H2
Installed on 5/5/2021
OS build 19045.2486
Experience Windows Feature Experience Pack 120.2212.4190.0
iPhone OS - iOS 15.6.1 and 16.1.1
- Is this a known bug with Windows 10 Enterprise?
- Is there any way to get around this issue?
Sample Code to reproduce the problem on iOS:
Our iOS app acts as a Bluetooth central and the other as a peripheral (Bluetooth Driver on Windows)
- Initializes the central manager with a specified delegate and dispatch queueself.cbManager = [[CBCentralManager alloc] initWithDelegate:self queue:bleManagerQueue];
2. Scans for peripherals that are advertising services to discover other Bluetooth devices, passing in the UUID of the service it’s searching for. [self.cbManager scanForPeripheralsWithServices:(NSArray<CBUUID *> *)serviceUUIDs options:(NSDictionary<NSString *,id> *)options;]];
3.When the central manager discovers a peripheral with a matching service UUID, The method saves the peripheral as the property discoveredPeripheral and calls connect to it.[self.cbManager connectPeripheral:[[self.currentConnection device] peripheral] options:nil];
Step 3, when trying to establish a connection to a peripheral, pairing is requested even though pairing has already been completed. After that, even if the pairing is done, pairing will be asked again at the next logon to Windows.
Is this a known bug with Windows 10 Enterprise?
Is there any way to get around this issue?
iPhone 14