Xcode中的iPhone模拟器是否支持蓝牙低功耗?

时间:2012-04-05 07:48:37

标签: ios ios-simulator ios5 core-bluetooth

我在新的Mac mini上尝试了一些iOS测试应用程序,它支持蓝牙低功耗。 CoreBluetooth框架用于那些。但是,我无法在iPhone模拟器中使用蓝牙,这是Xcode的一部分。

当我分配新的CBCentralManager时,centralManagerDidUpdateState:接收CBCentralManagerStatePoweredOff代表蓝牙当前已关机。

我第一次运行文本应用程序时,打开了一个看起来非常错误的框(仅使用了语言变量,而不是实际文本)和两个按钮。第一个让我进入设置面板,其中有一个启用蓝牙的选项。然而,在我告诉它启用蓝牙后,它只显示旋转动画,它不会完成或取消。即使在重新启动Mac之后,仍然只有旋转动画。盒子也不再打开了。

基本上,我认为iPhone模拟器应该支持蓝牙低功耗。否则,模拟器上的设置应用程序中有一个选项就没有意义。此外,中央管理员状态为CBCentralManagerStatePoweredOffCBCentralManagerStateUnsupported代表平台不支持蓝牙低功耗。这也希望能够提供支持。

  • iPhone模拟器是否支持蓝牙低功耗?
  • 如果是,我该如何启用它?

6 个答案:

答案 0 :(得分:41)

模拟器does support Bluetooth Low Energy(4.0)根据Apple的这个appnote。唯一的问题是,即使你的计算机里面装有BLE,你也无法将模拟器与它一起使用,因为(我认为)你占用BLE上的可用性,让其他设备发现你的计算机,从而限制了Mac的功能。

因此,如果您自己购买一个BLE USB加密狗,您将可以在模拟器中使用它。

编辑:从@JoeShaw添加信息:

  

不幸的是,似乎从iOS 7的模拟器中删除了Core Bluetooth支持。参考:doubleencore.com/2013/09/whats-new-in-bluetooth-le-ios-7。此外,链接的技术说明似乎已被删除。

答案 1 :(得分:13)

我一直在使用模拟器来测试BLE应用程序 - 但您需要使用OSX 10.7。正如Wilhelmsen所说,你还需要一个BLE USB加密狗。此外,您需要设置NVRAM设置:

$sudo nvram bluetoothHostControllerSwitchBehavior="never"

有关使用模拟器测试BLE应用的详细信息,请参阅Apple的技术说明:http://developer.apple.com/library/ios/#technotes/tn2295/_index.html

答案 2 :(得分:9)

根据http://www.doubleencore.com/2013/09/whats-new-in-bluetooth-le-ios-7/,从iOS 7开始,Core USB支持已经从模拟器中删除了。我还没弄清楚原因,但这意味着您将来需要在真实硬件上进行测试。 / p>

似乎Apple已经删除了Tech Note 2295,因为当我点击URL时我被重定向。

答案 3 :(得分:5)

我发现Apple在their own samples中写道模拟器无法用于测试基于 Core Bluetooth 的应用程序。

  

重要的:   该项目需要蓝牙LE功能设备(目前只有iPhone 4S),并且无法在模拟器上运行。

答案 4 :(得分:2)

过去一周我一直在研究BLE应用程序并且可以放心地说不,模拟器不支持BLE,除非您使用的Mac具有BLE(Macbook Air) - 但即便如此我也不是100%确定如何启用此功能(最有可能只是在Mac上和模拟器上使用BLE)。

如果您没有启用BLE的Mac,那么必须找到自己的4s才能进行测试!

答案 5 :(得分:0)

实际上我在模拟器中尝试过并且不起作用。 模拟器无法识别您的计算机中是否有蓝牙4.0,但如果您在Xcode中使用命令行工具项目,那么它可以正常工作。仅适用于您想在命令行工具中创建内容的情况。