2012-04-05 750 views
36

我正在嘗試一些新的Mac mini上支持藍牙低功耗的iOS測試應用程序。這些框架中使用了CoreBluetooth框架。但是,我無法使藍牙在iPhone模擬器中工作,這是Xcode的一部分。Xcode中的iPhone模擬器是否支持藍牙低功耗?

當我分配新的CBCentralManager時,centralManagerDidUpdateState:收到CBCentralManagerStatePoweredOff,代表藍牙當前已關閉。

我第一次運行文本應用程序,然後打開一個盒子,看起來很漂亮(只使用語言變量,而不是實際的文本)和兩個按鈕。第一個讓我進入設置面板,在那裏有一個選項來啓用藍牙。但是,在我告訴它啓用藍牙之後,它只顯示旋轉動畫,它不會完成或取消。即使重新啓動Mac後,仍然只有旋轉動畫。箱子也不開放了。

本質上,我認爲iPhone模擬器應該支持藍牙低功耗。否則,在模擬器上的設置應用程序中有一個選項沒有意義。此外,中央管理器的狀態是CBCentralManagerStatePoweredOff,但不是CBCentralManagerStateUnsupported,它代表該平臺不支持藍牙低功耗。這也給希望支持可能存在。

  • iPhone模擬器是否支持藍牙低功耗?
  • 如果是,我該如何啓用它?

回答

36

模擬器does support根據蘋果的這篇應用筆記,Bluetooth Low Energy(4.0)。唯一的問題是,即使你有一臺內置BLE的計算機,你也不能將模擬器與它一起使用,因爲(我認爲)你佔用了BLE上的可用性,以便其他設備發現你的計算機,從而限制Mac的功能。

所以如果你去找一個BLE USB加密狗,你就可以在模擬器中使用它。

編輯:從@JoeShaw添加信息:

不幸的是,看起來好像核心藍牙的支持已經從模擬器下降爲iOS 7,參考:doubleencore.com/2013/09/whats-new-在藍牙-LE-IOS-7。此外,鏈接的技術似乎已被刪除。

+0

是的,這是最新的更新。但是,即使您連接了BLE USB加密狗,它也可能會以Mac OS註冊加密狗而不是內部加密狗的方式出現問題。然後,模擬器仍然無法使用內部模塊,並且由於外部加密狗被阻塞,它也不能工作。因此,我建議在系統啓動後連接加密狗以解決此問題。 – Etan 2012-06-18 13:11:02

+0

更多信息。你在哪裏購買加密狗? – chwi 2012-06-18 17:08:55

+1

沒有獲得一個,它只是我在Apple網站上閱讀的信息。我去了一個真正的iPhone 4S,否則你不會遇到所有的錯誤:-) – Etan 2012-06-18 20:43:44

2

我一直工作在一個BLE應用在過去的一週,可以肯定地說,沒有,模擬器不,除非你使用Mac有BLE(的Macbook Air)支持BLE - 但即使如此,我我不是100%確定如何啓用這個功能(很可能只是通過在您的Mac和模擬器上的BLE進行調整)。

如果您沒有啓用BLE的mac,必須自己找4s做測試!

+0

我從2011年中期開始使用Mac mini服務器,所以它應該有藍牙4.0。 – Etan 2012-04-10 08:10:24

+0

同樣,不是沒有外部加密狗根據蘋果的文檔 – chwi 2012-06-20 06:51:14

4

我發現蘋果在their own samples中寫道,模擬器不能用於測試核心藍牙的應用程序。

重要提示: 該項目需要藍牙LE兼容設備(目前只有iPhone 4S),並且不能在模擬器上工作。

+2

引用蘋果的方式! – dustinrwh 2016-11-28 23:13:38

13

我一直在使用模擬器來測試BLE應用程序 - 但你需要在OSX 10.7上。正如Wilhelmsen所提到的,您還需要一個BLE USB加密狗。此外,你需要設置一個NVRAM設置:

$sudo nvram bluetoothHostControllerSwitchBehavior="never" 

請參閱本技術說明從蘋果的更多詳細信息,使用模擬器來測試BLE應用:http://developer.apple.com/library/ios/#technotes/tn2295/_index.html

+0

不工作。 在Xcode 6.1上,OSX 10.9.5,模擬器iPhone5〜6plus。 – allenlinli 2014-10-23 12:25:06

8

http://www.doubleencore.com/2013/09/whats-new-in-bluetooth-le-ios-7/,核心支持藍牙已我從來沒有想過爲什麼,但這意味着您將來需要在真實的硬件上進行測試。

它也看起來好像蘋果已經刪除了技術說明2295,因爲當我點擊URL時重定向。

+3

問題是,所有不同的BT軟件狗的兼容性問題花費了太多的努力來解決問題。因此,Apple放棄了對模擬器的BT支持,因爲遇到的錯誤使得模擬器的行爲與真實設備不同。 – Etan 2013-11-18 11:25:06

0

其實我在模擬器嘗試過,並沒有工作。 模擬器無法識別您的計算機是否有藍牙4.0,但如果您在Xcode中使用命令行工具項目,那麼它可以工作。只是爲了你想在命令行工具中創建一些東西。