iOS CoreBluetooth被动地检查蓝牙是否启用,无需提示用户打开蓝牙

情况如下.我有一个已经部署的应用程序被人使用.我正在考虑实施一些实验性蓝牙低功耗特性,但在我之前,我想对已经蓝牙开机/离开蓝牙的用户数量进行了一场“野外”调查.所以,我只是想在后台检查这个,并发回到一个服务器的统计数字的蓝牙用户已经开启,没有实际使用蓝牙通信.

我已经在我的应用程序中成功实例化了一个CBCentralManager,并且可以在实例化之后立即检索蓝牙状态,并且当通过centralManagerDidUpdateState:更新蓝牙状态时,这一切都是好的.我遇到的问题是,如果状态为CBCentralManagerStatePoweredOff,则设备会弹出警告提示用户“打开蓝牙以允许[应用程序名称]连接到附件”.这是我试图避免的提示.在这个阶段,我只想调查离开蓝牙的用户数量 – 我不想使用蓝牙连接.

那么,是否有办法检查蓝牙状态,而不提示用户,如果您不打算使用蓝牙连接?

最佳答案
在创建CBCentralManager时,iOS 7有一个新的选项参数来关闭它.

我喜欢早期iOS的解决方案.

转载注明原文:iOS CoreBluetooth被动地检查蓝牙是否启用,无需提示用户打开蓝牙 - 代码日志