蓝牙适配器和iOS模拟器

时间:2012-11-02 20:56:21

标签: bluetooth ios-simulator

我按照Apple的技术说明购买了IOGEAR GBU521蓝牙适配器:

http://developer.apple.com/library/ios/#technotes/tn2295/_index.html

我还按指示配置了它,我正在尝试使用temperaturesensor演示,但设置下的蓝牙似乎永远不会打开(继续旋转)。看一下控制台,这就是我所看到的:

2012-11-02 4:17:08.114 PM首选项[862]:BTM:设置可发现状态已启用 2012-11-02 4:17:08.114 PM首选项[862]:BTM:设置可连接启用 2012-11-02 4:17:08.115 PM偏好[862]:BTM:启用设备扫描 2012-11-02 4:17:08.115 PM偏好[862]:BTM:未能以错误111开始扫描

有什么想法?我见过有人问过这个问题,但是有人有这种方法吗?

最佳,

3 个答案:

答案 0 :(得分:2)

扔掉IOGEAR并拿起Cirago BTA8000。

除了Cirago BTA8000和MediaLink 4.0适配器之外,我还买了你提到的IOGEAR。事实证明,尽管我的MacBook内置了完全相同的内容,基于Broadcom芯片的任何东西都无法工作,这意味着MediaLink和IOGEAR无法正常工作。我的Cirago货物今天早上刚到货,iOS模拟器中的蓝牙滑块在不到一秒的时间内就会打开“ON”。

如果您想进行实验,我很想知道其他非Broadcom芯片是否也能正常工作。

答案 1 :(得分:0)

我刚从亚马逊购买了GBU521来升级MacBook8,3中的BT

我有同样的问题,它没有出现。阅读你引用的同一篇文章(TN2295)我做了一个sudo nvram bluetoothHostControllerSwitchBehavior="always",它告诉系统如果插入蓝牙控制器,总是切换到蓝牙控制器。

default选项:

  

当连接新的HCI时,如果新模块不是Apple模块,则内置驱动程序仅断开与内置HCI的连接并连接到外部HCI。

我认为因为供应商ID匹配(0xa5c)它没有切换到新的加密狗。将其设置为always会导致OSX始终切换到新的BT适配器。 TN2295中的以下陈述证实了这一点:

  

打开“系统信息”应用程序以验证系统蓝牙驱动程序是否与内置蓝牙主机控制器接口(HCI)匹配。对于硬件 - >蓝牙设置,请验证供应商ID是否为“0x5AC”

nvram更新后重新启动,我能够重新配对我的所有设备而不会发生任何事故。

但由于TN2295中有以下声明,因此iOS BT LE开发无效

  

如果系统蓝牙控制器与蓝牙LE USB适配器匹配,则iOS模拟器将无法使用外部蓝牙控制器进行蓝牙LE服务。

答案 2 :(得分:0)

实际上,您可以修改此处Info.plist内的BroadcomBluetoothHostControllerUSBTransport.kext

  

... /System/Library/Extensions/IOBluetoothFamily.kext/Contents/PlugIns/BroadcomBluetoothHostControllerUSBTransport.kext/Contents/Info.plist

只需复制另一个Broadcom字典并对其进行修改,或对Info.plist使用以下附加内容。在制作原始文件副本后,您需要以管理员身份执行此操作(即sudo nanovi此文件。

    <key>Add an appropriate name here</key>
    <dict>
        <key>CFBundleIdentifier</key>
        <string>com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport</string>
        <key>IOClass</key>
        <string>BroadcomBluetoothHostControllerUSBTransport</string>
        <key>IOProviderClass</key>
        <string>IOUSBDevice</string>
        <key>idProduct</key>
        <integer>8680</integer>
        <key>idVendor</key>
        <integer>2652</integer>
    </dict>

编辑后可能需要重启。这是在2012 MacBook Pro上运行XCode,它允许访问iOS模拟器中的蓝牙适配器!

我希望这有帮助!