有没有什么办法可以通过编程方式检查iOS设备上是否启用了蓝牙?检查蓝牙状态
我目前正在Objective-C中开发一个本地应用程序,并使用GKSession
和自定义同级选取器而不是GK Peer Picker
。
是否可以在加载时从设置应用程序中获取值或试图用蓝牙发送数据包来查看它是否失败?看起来好像GKSession
甚至不允许开发人员区分是否通过Wifi或蓝牙发送数据。我不打算在应用程序中启用或禁用蓝牙;我只想检查它的状态。
有没有什么办法可以通过编程方式检查iOS设备上是否启用了蓝牙?检查蓝牙状态
我目前正在Objective-C中开发一个本地应用程序,并使用GKSession
和自定义同级选取器而不是GK Peer Picker
。
是否可以在加载时从设置应用程序中获取值或试图用蓝牙发送数据包来查看它是否失败?看起来好像GKSession
甚至不允许开发人员区分是否通过Wifi或蓝牙发送数据。我不打算在应用程序中启用或禁用蓝牙;我只想检查它的状态。
不幸的是(愚蠢?)没有办法做到这一点。抱歉。如果你想在你的问题的某个注释中使用私有的SDK方法,你当然可以,但是Apple会在提交时静态分析代码,所以不太可能通过批准过程获得它。
我强烈建议您向Apple提出功能请求,要求Apple在将来的更新中提供该功能。您使用能够使用GameKit检查蓝牙,但是当GameKit开始支持WiFi连接以及蓝牙时,该能力被删除。
这不是我想听到的,但你似乎是对的。我会提出一个功能要求,但我不希望有太多的要求。谢谢。 – Matt
您现在可以使用iOS 7中的CBCentralManager进行检查,并使用设置的CBCentralManagerOptionShowPowerAlertKey选项对其进行初始化。
这里发布:http://chris.cm/determine-whether-bluetooth-is-enabled-on-ios-passively/
检查http://stackoverflow.com/questions/4955007/how-to-get-the-status-of-bluetooth-on-off-in-iphone-programatically – Jhaliya
我m不确定向OP推荐私有框架是个好主意。他可能想在未来的日期提交他的申请,这将被拒绝。 – Perception
@Jhaliya,不幸的是我不能使用任何私有API,因为应用程序将被推送到商店。我应该注意到在我的OP中。 – Matt