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

iOS 26.5中CBCentralManager代理未触发,蓝牙权限对话框不弹出

iOS蓝牙权限对话框不弹出且CBCentralManager代理方法未调用问题

预期行为

初始化CBCentralManager时,iOS应弹出蓝牙权限对话框,随后调用centralManagerDidUpdateState方法。

实际行为

权限对话框从未弹出,centralManagerDidUpdateState方法也未被调用。CBCentralManager.authorization返回0(未确定状态)。

最小复现步骤

  • 创建新的iOS Xcode项目
  • 在Info.plist中添加NSBluetoothAlwaysUsageDescription字段
  • 将ViewController替换为以下代码:
class ViewController: UIViewController, CBCentralManagerDelegate {
    var centralManager: CBCentralManager!

    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)
        print("Auth: \(CBCentralManager.authorization.rawValue)") // 输出0
        centralManager = CBCentralManager(delegate: self, queue: nil)
    }

    func centralManagerDidUpdateState(_ central: CBCentralManager) {
        print("State: \(central.state.rawValue)") // 从未被调用
    }

    deinit {
        print("Deallocated") // 同样从未被调用
    }
}

控制台输出

Auth: 0

(无其他输出)

环境信息

  • 实体iPhone设备,iOS 16.5
  • Xcode 16
  • 已测试queue参数为nil和DispatchQueue.global()两种情况
  • 已重置设备的位置与隐私设置,删除并重新安装应用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.02 01:32:29