2011-06-26 67 views
2

好吧,在我收到很多回应之前。我知道一个应用程序无法切换蓝牙并与另一个蓝牙设备通话(交换数据或其他)。我只是想知道附近的蓝牙设备列表是否可以读取。它似乎是从GKPeerPickerController隐藏的。如果这是真的,那么手机必须越狱吗?应用程序是否需要使用私人框架来实现此目标,例如BluetoothManager?但是,如何?检测蓝牙设备“ID”

干杯

回答

2

您无法获取已发现的蓝牙设备列表。这应该有可能与私人框架,但通常是一个坏主意由于以下几个原因:

  1. 您的应用从AppStore的

  2. 私人框架迅速改变被拒绝。与私有方法一样,它们可以在内部进行更改或一并删除,从而导致应用程序无法使用。你真的想与苹果进行猫捉老鼠游戏吗?

如果你真的要使用私人框架,你需要header-dump它。如果你不知道该怎么做,这里有一个教程:

http://tungchingkai.blogspot.com/2008/05/class-dump-for-iphone-sdk-header-file.html

棒用的GameKit传输数据。这是一种更可靠的方法。

+0

谢谢。你知道为什么iOS仍然阻止可以访问发现的设备列表吗? Android允许它,它似乎不会导致任何安全问题。 – Kar

+0

苹果有一个非常确定的做事方式。我不是一名员工,所以我不能确定他们为什么不会允许这样做,但我确信他们有他们的理由。这完全是关于'体验' - iOS是一个严格控制的平台,以保持最终用户的最佳体验。 – Pripyat

0

GK仅适用于其他iOS设备。对于通用蓝牙发现,目前BluetoothManager是唯一的选择。可以打开/关闭蓝牙收音机,发现附近的设备并连接到它们。