3

我希望我的 iPhone 应用程序显示附近所有蓝牙设备的列表(例如其他 iPhone、Android ......基本上所有启用蓝牙的设备)。我正在使用私有框架“BluetoothManager”(我知道这会导致 AppStore 被拒绝)。

到目前为止,一切正常:

  • 我可以关闭蓝牙,...
  • 我得到一个 NSLog 设置 DeviceScanning 已启用...
  • 如果我检查功能 (BOOL)deviceScanningInProgress 我也会得到“是”。

但 BTM 似乎从未发布过“BluetoothDeviceDiscoveredNotification”。我在设备旁边还有另外两部启用了蓝牙的 iPhone,我正在测试我的应用程序,但没有一个被发现(它们都是可发现的,我的 MAC 找到了它们!)

任何想法可能是什么问题?

我浏览了stackoverflow,发现了另一个问题,有人使用基本相同的代码,并且对他有用!请参阅:我不知道的其他问题,为什么我的应用程序在“工作”时没有发现任何设备。

我真的很感激一些答案!由于没有关于 BluetoothManager 的文档,我正在慢慢耗尽资源来获得帮助;o)

谢谢!

4

3 回答 3

2

我用:

[btManager  setDeviceScanningEnabled:YES];
[btManager scanForServices:0xFFFFFFFF];
于 2013-03-20T13:21:56.880 回答
1

我想我自己可能已经找到了问题的答案:看来,iOS5 在发布任何“BluetoothDeviceDiscoveredNotification”之前正在过滤 DeviceScanning 的结果。最后,只有耳机和类似设备被“报告”,而像其他 iPhone 等设备被“阻止”。

现在是一个后续问题:有没有人有想法,如何通过这个过滤?我真的不需要对设备做任何事情(通信或任何事情),我只想发现它们!我不敢相信在 iOS5 中应该没有办法做到这一点!有任何想法吗?

谢谢!

于 2012-06-11T08:57:26.117 回答
0

我有同样的问题,我用scanForServices:~0x0而不是setDeviceScanningEnabled:YES

于 2012-08-01T00:38:11.487 回答