2011-06-26 188 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是唯一的選擇。可以打開/關閉藍牙收音機,發現附近的設備並連接到它們。