我按照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开始扫描
有什么想法?我见过有人问过这个问题,但是有人有这种方法吗?
最佳,
答案 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 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模拟器中的蓝牙适配器!
我希望这有帮助!