0

我按照 Apple 技术说明上的说明购买了 IOGEAR GBU521 蓝牙加密狗:

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

我还按照指示对其进行了配置,并且正在尝试使温度传感器演示工作,但设置下的蓝牙似乎永远不会打开(继续旋转)。查看控制台,这是我所看到的:

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

有什么想法吗?我见过有人问过这个问题,但有没有人用这种方法工作?

最好的,

4

3 回答 3

2

扔掉 IOGEAR 并拿起 Cirago BTA8000。

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

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

于 2012-11-08T16:34:15.550 回答
0

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

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

default选项:

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

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

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

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

但是,由于TN2295中的以下声明,这不适用于 iOS BT LE 开发:

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

于 2013-08-20T19:22:56.663 回答
0

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

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

只需复制另一个 Broadcom 字典并对其进行修改或使用以下添加到Info.plist. 您需要以管理员身份执行此操作(即sudo nano复制vi原始文件后的此文件)。

    <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 模拟器中的蓝牙加密狗!

我希望这有帮助!

于 2013-12-31T04:02:28.260 回答