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

Eta*_*tan 47 ios ios-simulator ios5 core-bluetooth

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

当我分配一个新的CBCentralManager时,centralManagerDidUpdateState:接收CBCentralManagerStatePoweredOff哪个代表蓝牙当前已关闭.

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

从本质上讲,我认为iPhone模拟器应该支持蓝牙低功耗.否则,模拟器上的设置应用程序中有一个选项实际上没有意义.此外,中央管理员状态CBCentralManagerStatePoweredOff但不是CBCentralManagerStateUnsupported代表该平台不支持蓝牙低功耗.这也希望可以存在支持.

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

chw*_*hwi 44

根据Apple的这个应用笔记,模拟器确实支持蓝牙低功耗(4.0).唯一的问题是,即使你的计算机里面装有BLE,你也无法将模拟器与它一起使用,因为(我认为)你占用了BLE的可用性,其他设备可以发现你的计算机,从而限制了Mac的功能.

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

编辑:从@JoeShaw添加信息:

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

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

mez*_*ulu 13

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

$sudo nvram bluetoothHostControllerSwitchBehavior="never"
Run Code Online (Sandbox Code Playgroud)

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


Joe*_*haw 9

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

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

  • 问题是所有不同BT加密狗的兼容性问题需要花费太多精力才能解决.因此,Apple放弃了对模拟器的BT支持,因为遇到的错误使得模拟器的行为与真实设备不同. (3认同)

Eta*_*tan 5

我发现Apple在自己的示例中写道,该模拟器无法用于测试基于Core Bluetooth的应用程序。

重要说明:该项目需要支持Bluetooth LE的设备(当前仅支持iPhone 4S),并且无法在模拟器上运行。

  • 引用苹果的方法! (2认同)