我试图通过编程方式获取iPhone/iPod蓝牙的状态,无论是开启还是关闭.是否可以使用某些Apple API或第三方API.
方案如下.我有一个已经部署的应用程序被人们使用.我正在考虑实施一些实验性的蓝牙低功耗功能,但在此之前,我想对已经有蓝牙开启/离开蓝牙的用户数进行"野外"调查.因此,我只想在后台检查这一点,然后将服务器的数据发送回服务器上已有蓝牙的用户数量,而无需实际使用蓝牙通信.
我已经CBCentralManager在我的应用程序中成功实例化了一个,并且可以在实例化后立即检索蓝牙状态,并通过蓝牙状态更新centralManagerDidUpdateState:.这一切都很好.我遇到的问题是,如果状态是CBCentralManagerStatePoweredOff,则设备会弹出警告提示用户"打开蓝牙以允许[应用程序名称]连接到附件".这是我试图避免的提示.在这个阶段,我只想调查离开蓝牙的用户数量 - 我不想使用蓝牙连接.
那么,如果您不打算使用蓝牙连接,有没有办法检查蓝牙状态而不提示用户?
我只是想简单检查一下是否在设备上启用了蓝牙.
我不想改变应用程序内部(或根本没有)的状态,使用私有API,越狱设备,或做任何会导致Apple拒绝应用程序的事情.
我想要的只是知道蓝牙是否打开.
任何人都可以对此有所了解吗?有没有Apple允许这样做的方法?
我完全清楚,在阅读了无数的帖子和文档后,Apple在蓝牙(其中包括)方面非常严格.
如果您只能通过文档链接和/或关于学习目标-c,阅读文档等的一些讽刺评论来为这个问题做出贡献,那么请不要回复.
我听说iOS7在CBCentralManager中引入了这个功能,但是无法找到.有可能吗?widthout使用GKPeerPickerController还有另一种方法吗?