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

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

当我分配一个新的CBCentralManager ,centralManagerDidUpdateState:接收CBCentralManagerStatePoweredOff表示蓝牙当前closures。

我第一次运行文本应用程序,然后打开一个盒子,看起来很漂亮(只使用语言variables,而不是实际的文本)和两个button。 第一个带我到设置面板,有一个选项来启用蓝牙。 但是,我告诉它启用蓝牙后,它只显示旋转animation,它不会完成或取消。 即使重新启动Mac后,仍然只有旋转animation。 箱子也不开放了。

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

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

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

所以如果你去买一个BLE的USBencryption狗,你可以在模拟器中使用它。

编辑:从@JoeShaw添加信息:

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

我一直在使用模拟器来testingBLE应用程序 – 但是你需要在OSX 10.7上。 正如Wilhelmsen所提到的,您还需要一个BLE USBencryption狗。 另外,您需要设置一个NVRAM设置:

 $sudo nvram bluetoothHostControllerSwitchBehavior="never" 

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

根据http://www.doubleencore.com/2013/09/whats-new-in-bluetooth-le-ios-7/,Core iOS支持已经从iOS 7的模拟器中删除。我还没有想过为什么呢,但这意味着你将来需要在真正的硬件上进行testing。

这也看起来好像苹果已经删除了技术说明2295,因为当我点击URL时redirect。

我发现苹果在自己的例子中写道,模拟器不能用于testing基于核心蓝牙的应用程序。

重要提示:该项目需要蓝牙LE兼容设备(目前只有iPhone 4S),无法在模拟器上工作。

我一直在为一个BLE应用程序在过去一周工作,可以有信心地说,不,模拟器不支持BLE,除非你使用的BLE(Macbook Air)的Mac – 但即使如此,我不是100%确定如何启用这个function(最有可能的方法就是在你的Mac和模拟器上运行BLE)。

如果您没有启用BLE的mac,则必须find自己的4s才能进行testing!