在NRF使用配对的过程中发现,安卓和苹果的配对流程中,
和苹果手机配对会多一个事件上报:BLE_GATTS_EVT_SYS_ATTR_MISSING,如果不回复这个事件,那么苹果会一直卡在一个界面。
我使用的没有绑定的配对。回复的函数如下:
case BLE_GATTS_EVT_SYS_ATTR_MISSING:
{
uint32_t err_code;
uint32_t attr_flags = BLE_GATTS_SYS_ATTR_FLAG_SYS_SRVCS | BLE_GATTS_SYS_ATTR_FLAG_USR_SRVCS;
uint16_t attr_len =26;
uint8_t sys_data[26];
err_code = sd_ble_gatts_sys_attr_get( m_conn_handle, sys_data,&attr_len,attr_flags);
M_LOG("attr_get %d",err_code);
err_code=sd_ble_gatts_sys_attr_set(m_conn_handle,NULL,0,0);
M_LOG("attr_get %d",err_code);
}