BLE Peripheral with RPA is unable to connect using AccessorySetupKit

I have created a sample iOS project where I am attempting to discover BLE peripherals using AccessorySetupKit in iOS 18.

I am able to discover the BLE accessory and retrieve the CBPeripheral. However, when I attempt to connect to the CBPeripheral, the connection neither succeeds nor fails. I have noticed that the BLE peripheral I am trying to connect to uses a Resolvable Private Address (RPA). When I repeat the same process for a BLE peripheral with a Static Device Address (SDA), I am able to connect successfully.

Could someone please suggest why I am unable to connect to the BLE peripheral with an RPA when it is discovered using AccessorySetupKit?

Hi. Can you share some more info about your RPA usage on your accessory ? Can you also share a set of logs with the Bluetooth and AccessorySetupKit logging profile with timestamps so we could help investigate ? There should be no difference between the RPA and SDA address when connecting. The only difference may be if your accessory rotates its address after setting up with AccessorySetupKit, and in case you did not pair with your accessory (BLE Pairing, SMP Protocol), there's no way for iOS to track your device across address rotations (as defined by the BT LE Privacy and address generation).

Thanks.

Thank you for your response. I have collected the HCI logs with both Bluetooth and AccessorySetupKit profiles. In the scenario I described above, the pairing is successful through AccessorySetupKit. However, the issue arises when I attempt to connect to the CBPeripheral equivalent of the paired accessory.

I have attached the HCI logs and a video of the steps I am taking with AccessorySetupKit. Please take a look and assist us with any possible solutions.

Sorry can't attach logs due to large size, please download it from here

BLE Peripheral with RPA is unable to connect using AccessorySetupKit
 
 
Q