为啥蓝牙 LE 不能从 iOS 模拟器到我的设备工作?

Posted

技术标签:

【中文标题】为啥蓝牙 LE 不能从 iOS 模拟器到我的设备工作?【英文标题】:Why isn't Bluetooth LE working from the iOS Simulator to my device?为什么蓝牙 LE 不能从 iOS 模拟器到我的设备工作? 【发布时间】:2012-08-10 00:00:11 【问题描述】:

我试图弄清楚为什么我的 BTLE TI CC2540 密钥卡可以在我的 iPad 3 上工作,但不能在 Mountain Lion 上配备新的 GBU521 IOGEAR 适配器的 ios 模拟器上工作。

我已经能够在常规设置中成功地将 iOS 5 模拟器蓝牙(现在显示为开启)连接到我的 BT 适配器,并且在我的概念验证应用程序中被视为“已开启”。我正在使用 GBU521 IOGEAR 适配器,它仅在升级到 Mountain Lion 后才有效(尝试使用 Lion 修改一些 .kext 文件——不要那样做。在我恢复那个 .kext 之前升级到 Mountain Lion 是不可能的)。然后我运行 Apple 建议的 nvram 设置,重新启动,它能够识别 BT 适配器。

我能够成功地与我的 iPad 3 通信(注册按钮推送、加速度计等),但是当我尝试在模拟器上运行它时,它只是没有发现设备。它告诉我 BT 状态是 CBCentralManagerStatePoweredOn,但是当我告诉它发现外围设备时,它什么也没有出现。

如何在 iOS 模拟器和支持 LE 的 iOS 设备之间建立蓝牙 LE 通信?

【问题讨论】:

【参考方案1】:

(根据我在其他 iOS 模拟器蓝牙线程中的回答修改:Bluetooth Dongle and iOS Simulator)

扔掉 IOGEAR,拿起 Cirago BTA8000。

我不确定您为什么能够在 iOS 模拟器中打开蓝牙(可能与您的 kext 编辑有关,我也尝试过),但我怀疑它实际上并没有打开。除了 Cirago BTA8000 和 MediaLink 4.0 适配器,我还购买了您提到的 IOGEAR。事实证明,尽管我的 MacBook 内置了完全相同的芯片,但基于 Broadcom 芯片的任何东西都不起作用,这意味着 MediaLink 和 IOGEAR 不起作用。我的 Cirago 货物今天早上刚到,iOS 模拟器中的蓝牙滑块在不到一秒的时间内就弹到“ON”。

如果您想进行实验,我很想知道其他非博通芯片是否也可以工作。

【讨论】:

【参考方案2】:

您的钥匙扣没有加密狗吗?我打算买一个:S 更新:我刚刚发现了这个(但可能你已经看到了这个,它解释了你为什么使用单独的适配器):http://developer.apple.com/library/ios/#technotes/tn2295/_index.html 此外,您的适配器在亚马逊上的评论看起来也不是很好。你用antoher设备试过了吗? http://www.amazon.com/IOGEAR-Bluetooth-Micro-Adapter-GBU521/dp/B007GFX0PY/ref=sr_1_1?ie=UTF8&qid=1344560021&sr=8-1&keywords=GBU521+IOGEAR

【讨论】:

以上是关于为啥蓝牙 LE 不能从 iOS 模拟器到我的设备工作?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iOS 应用程序中从蓝牙 LE 设备获取通知

如何从 Mac 连接到蓝牙 4.0/蓝牙 LE 设备?

蓝牙 LE iOS 无法在后台扫描

IOS 蓝牙 LE 扫描设备未添加到 uitableview

从 iOS 连接到蓝牙设备,没有 MFi

用于模拟硬件的可编程蓝牙 LE 设备