iOS:无法使BluetoothManager正常工作

警告:我知道私人框架不会在App Store中飞行。

我正在尝试使用BluetoothManager框架让我1)检查设备上是否启用了蓝牙,以及2)如果不启用,请将其打开。

我可以按照在这里find的说明成功地加载BluetoothManager,但是一旦我这样做了,BluetoothManager似乎并没有做任何事情。

即使在启用蓝牙的情况下,启用的呼叫始终返回NO。 调用setEnabled从不改变它的状态。 绝对每一个我试过的BluetoothManager调用总是返回NO,零,零元素数组等。总之,得到返回的BluetoothManager似乎完全被中止。 (我跑掉我的4.2.1 iPhone,而不是模拟器。)

我曾经见过那些声称已经得到这个工作的人的post,但我还没有得到他们的答复。 任何人都可以阐明为什么这可能不工作?

非常感谢。

BluetoothManager启动并连接到BTS服务器需要一秒钟的时间。 我只是对共享实例 – [BluetoothManager sharedInstance]; – 强制它初始化。 一旦它完成初始化它将发布一个BluetoothAvailabilityChangedNotification 。 我只是听,然后尝试[[BluetoothManager sharedInstance] setEnabled:YES]; 在通知callback中。

仅供参考,包含在BluetoothAvailabilityChangedNotification的NSNotification中的对象是一个布尔值,所以您应该能够检查以确保蓝牙真正可用。

那是因为IPC。 BluetoothManager通过sendMsg et el进行通信。 使用例如NSTimer查询BluetoothManager sharedInstance,以便您的程序有时间接收和处理消息。

在Github上有一个名为BeeTee的演示项目,用于演示私有框架BluetoothManager。