检查蓝牙状态

有没有办法以编程方式检查iOS设备上是否启用了蓝牙?

我目前正在开发Objective-C中的本机应用程序,并使用GKSession和自定义对等选择器而不是GK Peer Picker

是否可以在加载时从“设置”应用程序中获取值,或尝试发送带蓝牙的数据包以查看是否失败? 似乎GKSession甚至不允许开发人员区分是否通过Wifi或蓝牙发送数据。 我不打算在应用程序中启用或禁用蓝牙; 我只想检查一下它的状态。

不幸的是(愚蠢?)没有办法做到这一点。 抱歉。 如果你想使用链接到你的问题的一个评论中的私有SDK方法,你当然可以,但Apple在提交时静态分析代码,因此你不太可能通过批准过程。

我强烈建议您向Apple提交function请求,要求在将来的更新中使用该function。 您曾经能够使用GameKit检查蓝牙,但当GameKit开始支持WiFi连接以及蓝牙时,该function被删除。

您现在可以使用iOS 7中的CBCentralManager进行检查,并使用CBCentralManagerOptionShowPowerAlertKey选项集进行初始化。

发表在这里: http : //chris.cm/determine-whether-bluetooth-is-enabled-on-ios-passively/