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

iOS 15.7.3下Swift BLE后台扫描didDiscover不触发问题求助

iOS 15.7.3 Swift应用BLE后台扫描无响应问题求助

问题描述

在iOS 15.7.3设备上开发Swift应用时,遇到BLE后台扫描问题:应用需在后台发现BLE设备,但didDiscover方法未被触发。

已完成的排查与配置

  • 已配置蓝牙使用及后台处理权限
  • 项目后台处理标识设置正确
  • BLE设备已配置为可后台广播
  • 测试环境无物理障碍或干扰

额外测试细节

  • 在applicationDidEnterBackground方法中启动后台扫描
  • 测试初始时BLE设备不在范围内,应用后台约5分钟后将其靠近iPhone,等待15-20分钟仍无响应
  • 若BLE设备不远离,应用后台后会立即检测到但仅一次
  • 测试期间手机屏幕未锁定
  • CBCentralManager已使用CBCentralManagerOptionRestoreIdentifierKey选项
  • iOS 16.3.1的iPhone 12 mini上后台扫描可工作,但每次调用scanForPeripherals仅发现设备一次
  • 使用的过滤条件:CBUUID(string: "330C5AD1-7261-4F06-B87C-0F6342365C2E")和CBUUID(string: "4c6607e0-2c3d-4fca-b201-0246773d6e9c")
  • 测试时进入iPhone蓝牙设置(设备搜索页),didDiscover方法开始上报发现的设备

BLE广播数据

7 elements
0 : 2 elements
key : "kCBAdvDataServiceUUIDs"
value : 1 element
0 : 4C6607E0-2C3D-4FCA-B201-0246773D6E9C
1 : 2 elements
key : "kCBAdvDataRxSecondaryPHY"
value : 0
2 : 2 elements
key : "kCBAdvDataTimestamp"
value : 719149435.0168051
3 : 2 elements
key : "kCBAdvDataLocalName"
value : GB3_0CCE
4 : 2 elements
key : "kCBAdvDataRxPrimaryPHY"
value : 0
5 : 2 elements
key : "kCBAdvDataServiceData"
value : 1 element
0 : 2 elements
key : 330C5AD1-7261-4F06-B87C-0F6342365C2E
value : <01020304>
6 : 2 elements
key : "kCBAdvDataIsConnectable"
value : 1

功能场景说明

我们的BLE设备可生成通知,可通过同步连接或广播数据中的标识获取通知;设备生成通知时会广播UUID为330C5AD1-7261-4F06-B87C-0F6342365C2E的服务,实际应用中后台扫描会过滤该UUID。使用流程:

  1. 用户最小化应用(触发applicationDidEnterBackground),启动后台扫描
  2. 若已连接设备,5分钟后断开连接
  3. 设备生成通知时,通过后台扫描发现设备,提取广播数据中的通知信息,必要时连接设备

目前后台扫描无法发现设备,尝试多种方法均未解决,恳请协助分析原因并提供建议。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 09:44:57