gpt4 book ai didi

ios - 从控制中心关闭蓝牙时,"CBCentralManager(delegate: self, queue: nil)"不显示蓝牙弹出消息

转载 作者:行者123 更新时间:2023-12-01 18:37:00 32 4
gpt4 key购买 nike

我正在尝试将用户导航到 蓝牙设置 单击按钮。 CBCentralManager(delegate: self, queue: nil)从设置应用程序关闭蓝牙时工作正常,但是当从控制中心关闭蓝牙时它不起作用,例如不显示默认的蓝牙弹出 .
现在我需要知道蓝牙是否从控制中心关闭,以便我可以向用户显示一些自定义弹出消息。

任何帮助将不胜感激。

最佳答案

您是正确的,初始化选项 CBCentralManagerOptionShowPowerAlertKey,如果在蓝牙关闭时启动框架,它应该显示警告,如果蓝牙从控制中心关闭,实际上不会按预期工作。从 iOS 11 开始,系统实际上会 不是 如果您关闭控制中心中的按钮,请关闭蓝牙,它只会断开当前连接的设备。关闭蓝牙的唯一方法是从系统设置中进行。这是 Apple 记录的,但对我来说是 误导。因此,老实说,我不知道您遇到的 API 行为是错误还是预期行为。

我的建议是你跳过这个初始化选项,而是在你得到“centralManagerDidUpdateState:”回调时依赖于 central.state 的值,然后如果值为 CBManagerStatePoweredOff 创建你自己的弹出窗口,这很奇怪,无论是否蓝牙都是如此从系统设置关闭,或者从控制中心关闭。

如果您的应用在后台运行,您可能希望使用本地通知来引起用户的注意。

不是一个完美的解决方案,但它应该更可靠。

关于ios - 从控制中心关闭蓝牙时,"CBCentralManager(delegate: self, queue: nil)"不显示蓝牙弹出消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52603386/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com