Xcode中的iPhone模拟器是否支持蓝牙低功耗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Xcode中的iPhone模拟器是否支持蓝牙低功耗?相关的知识,希望对你有一定的参考价值。
我在新的Mac mini上尝试了一些ios测试应用程序,它支持蓝牙低功耗。 CoreBluetooth框架用于那些。但是,我无法让蓝牙在iPhone模拟器中工作,这是Xcode的一部分。
当我分配一个新的CBCentralManager时,centralManagerDidUpdateState:接收代表蓝牙的CBCentralManagerStatePoweredOff
当前已关闭。
我第一次运行文本应用程序时,打开了一个看起来非常有问题的框(只使用了语言变量,而不是实际文本)和两个按钮。第一个让我进入设置面板,其中有一个启用蓝牙的选项。然而,在我告诉它启用蓝牙后,它只显示旋转动画,它不会完成或取消。即使在重新启动Mac之后,仍然只有旋转动画。盒子也不再打开了。
从本质上讲,我认为iPhone模拟器应该支持蓝牙低功耗。否则,模拟器上的设置应用程序中有一个选项就没有意义。此外,中央经理状态是CBCentralManagerStatePoweredOff
但不是CBCentralManagerStateUnsupported
,它代表平台不支持蓝牙低功耗。这也希望可以存在支持。
- iPhone模拟器是否支持蓝牙低功耗?
- 如果是,我该如何启用它?
根据Apple的这个appnote,模拟器does support蓝牙低功耗(4.0)。唯一的问题是,即使你的计算机里面装有BLE,你也无法将模拟器与它一起使用,因为(我认为)你占用BLE上的可用性,让其他设备发现你的计算机,从而限制了Mac的功能。
因此,如果您自己购买一个BLE USB加密狗,您将能够在模拟器中使用它。
编辑:从@JoeShaw添加信息:
不幸的是,似乎从iOS 7的模拟器中删除了Core Bluetooth支持。参考:doubleencore.com/2013/09/whats-new-in-bluetooth-le-ios-7。此外,链接的技术说明似乎已被删除。
我一直在使用模拟器测试BLE应用程序 - 但你需要使用OSX 10.7。正如Wilhelmsen所说,你还需要一个BLE USB加密狗。此外,您需要设置NVRAM设置:
$sudo nvram bluetoothHostControllerSwitchBehavior="never"
有关使用模拟器测试BLE应用程序的更多详细信息,请参阅Apple的技术说明:http://developer.apple.com/library/ios/#technotes/tn2295/_index.html
根据http://www.doubleencore.com/2013/09/whats-new-in-bluetooth-le-ios-7/的说法,从iOS 7开始,Core USB支持已从模拟器中删除。我还没弄清楚原因,但这意味着您将来需要在真实硬件上进行测试。
似乎Apple已经删除了Tech Note 2295,因为当我点击URL时我被重定向。
我发现Apple在their own samples写道,模拟器不能用于测试基于Core Bluetooth的应用程序。
重要提示:此项目需要蓝牙LE功能设备(目前只有iPhone 4S),并且无法在模拟器上运行。
过去一周我一直在研究BLE应用程序并且可以放心地说不,模拟器不支持BLE,除非您使用的Mac具有BLE(Macbook Air) - 但即便如此我也不是100%肯定如何启用此功能(最有可能只是在Mac上和模拟器上使用BLE)。
如果你没有支持BLE的mac,必须找到自己的4s进行测试!
实际上我在模拟器中尝试过并且不起作用。模拟器无法识别您的计算机中是否有蓝牙4.0,但如果您在Xcode中使用命令行工具项目,那么它可以正常工作。仅适用于您想在命令行工具中创建内容的情况。
以上是关于Xcode中的iPhone模拟器是否支持蓝牙低功耗?的主要内容,如果未能解决你的问题,请参考以下文章
使用仪器在 iPhone 上测量从代码执行到蓝牙低功耗传输的时间