You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

iOS CoreBluetooth GATT over BR/EDR下connectionEventDidOccur无回调问题咨询

配件侧需检查的配置项及对应解决方案

  • SDP记录格式校验
    iOS对BR/EDR设备发布的GATT服务SDP记录有严格校验规则,必须满足:
    1. 服务类ID列表同时包含通用GATT服务UUID 0x1801 和你自定义的服务UUID
    2. ProtocolDescriptorList字段必须依次包含L2CAP协议描述(PSM固定为0x001f,是GATT over BR/EDR的固定PSM)、ATT协议描述
      缺少任意项iOS都会直接忽略该SDP记录,不会触发应用回调。
  • 设备类(CoD)字段配置
    需保证设备的CoD字段未被标记为纯BLE设备,自定义外设建议在CoD的服务类字段中标记支持通用服务类(如信息服务、音频服务),避免iOS系统层面过滤非MFi认证配件的GATT over BR/EDR服务。
  • 配对权限匹配
    若你的GATT服务配置了加密/认证访问权限,设备配对必须使用带MITM保护的绑定模式,不能使用Just Works无认证配对,否则iOS发现服务后会因权限不足,不向应用推送连接事件。
  • UUID注册格式校验
    自定义服务必须向registerForConnectionEvents接口传入完整128位UUID,不能传入16位缩略UUID,除非该UUID是蓝牙SIG认证的标准服务UUID。

应用侧额外注意项

调用registerForConnectionEvents时需明确指定传输方式参数:

[centralManager registerForConnectionEventsWithOptions:@{
    CBConnectPeripheralOptionTransportKey : CBTransportBridged
} matching:services];

CBTransportBridged参数强制系统匹配BR/EDR链路的服务,若不指定该参数,由于你的配件同时支持BLE GATT,iOS会默认优先匹配BLE链路的服务,不会触发BR/EDR对应的连接回调。

内容的提问来源于stack exchange,提问作者Adam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 01:24:04