简述
iOS 11 对控制中心的功能做了修改,蓝牙、wifi模块在关闭按钮时仅是断开设备,并不是真正的关闭,很多同学应该在开发的时候遇到过控制中心蓝牙状态关闭但是项目并没有断开设备的问题。坑!!!!!!!!!!!
解决方法
小编多次测试后发现在控制中心关闭蓝牙的时候,Bluetooth的断开设备代理方法不走!不走! 不走了!!!!!但是检测蓝牙状态的代理方法会走呦!希望就在这了 😎。
switch central.state {
case CBManagerState.unknown:
print("位置")
case CBManagerState.unauthorized:
print("未授权")
case CBManagerState.unsupported:
print("不支持")
case CBManagerState.resetting:
print("重置中")
case CBManagerState.poweredOn:
print("打开")
case CBManagerState.poweredOff:
print("关闭")
default:
break
}
当蓝牙打开时会执行这个代理
case CBManagerState.poweredOn:
当蓝牙关闭时(包括iOS11 在控制中心关闭蓝牙)会执行这个代理
case CBManagerState.poweredOff:
所以我们就可以在执行这个代理后做设备断开的一系列操作了。
小编也是暂时只找到这种解决办法。
网友评论