Hello, Nordic DevZone community,
I am currently testing the "peripheral_nfc_pairing" and "peripheral_hids_keyboard" samples, and I have encountered a couple of issues. I would greatly appreciate your insights and recommendations.
Issues:
1. NFC Pairing and Bonding on iOS:
- I discovered that the "peripheral_nfc_pairing" and "peripheral_hids_keyboard" samples do not work as expected with iOS devices.
- I have come across information in the community indicating that NFC pairing and bonding might not be supported on iOS. Can anyone confirm this or provide additional insights?
- if, indeed, NFC pairing and bonding are not supported on iOS, I am looking for recommendations on achieving secure connections, pairing and bonding. Due to absence of a display, I cannot use passkey, and I am looking to avoid the Just Works method for enhanced security.
2. Direct Advertisement Not Working (on both Android and iOS):
- I managed to solve the issue on Android by adding BT_LE_ADV_OPT_USE_NAME to the bt_le_adv_param. Does anyone have insights into the reason behind this? The testing was performed on Android v12.
static struct bt_le_adv_param adv_param;
adv_param = *BT_LE_ADV_CONN_DIR_LOW_DUTY(&bond_addr);
adv_param.options |= BT_LE_ADV_OPT_DIR_ADDR_RPA;
/* This is the line I added: */
adv_param.options |= BT_LE_ADV_OPT_USE_NAME;
err = bt_le_adv_start(&adv_param, NULL, 0, NULL, 0);
3. Secure BLE Connection with IOS:
- Given that direct advertisement is not supported on IOS, I am exploring alternative methods to establish a secure BLE re-connection after the initial pairing and bonding has been completed. One approach I am considering is assigning characteristic read/write operations with ENCRYPT permission. Are there any other recommended approaches?