有没有办法以编程方式检查iOS设备上是否启用了蓝牙?
我目前正在使用Objective-C开发本机应用,并使用GKSession
和自定义对等选择器而不是GK Peer Picker
。
是否可以在加载时从“设置”应用程序中获取值,或尝试发送带蓝牙的数据包以查看是否失败?似乎GKSession
甚至不允许开发人员区分是否通过Wifi或蓝牙发送数据。我不打算在应用程序中启用或禁用蓝牙;我只是想查看它的状态。
答案 0 :(得分:3)
不幸的是(愚蠢的?)没有办法做到这一点。抱歉。如果你想在你的问题的一个评论中使用链接到的私有SDK方法,你当然可以,但Apple在提交时静态分析代码,因此你不太可能通过批准过程获得它。
我强烈建议您向Apple提交功能请求,要求在将来的更新中使用该功能。您使用可以使用GameKit检查蓝牙,但当GameKit开始支持WiFi连接和蓝牙时,该功能被删除。
答案 1 :(得分:0)
现在可以使用iOS 7中的CBCentralManager进行检查,并使用CBCentralManagerOptionShowPowerAlertKey选项进行初始化。
发表在此处:http://chris.cm/determine-whether-bluetooth-is-enabled-on-ios-passively/