通过BeeTee应用程序连接到其他蓝牙设备

时间:2014-05-10 09:14:03

标签: ios bluetooth iphone-privateapi

我需要实现一个自我蓝牙应用程序,以连接所有蓝牙设备到iPhone。我知道CoreBluetooth框架是不可能的。

我使用私有API并将DeviceManager和BluetoothManager的头文件添加到私有框架,并从here下载了BeeTee Project

此应用程序运行并找到我附近的所有蓝牙设备,但是当我尝试通过此代码连接到设备时:

[self.bluetoothManager connectDevice:bluetoothDevice];

和这个

[bluetoothDevice connect];

当选择一个单元格时,以上两个代码都要求连接,但BTM返回此消息:

  

BeeTee [5473:60b] BTM:设备“诺基亚500”上的服务0xffffffff连接F4:xx:xx:xx:xx:xx失败,错误109

什么是错误109?哪个会设置服务号码?

我想我应该在连接之前配对设备但是我该怎么做?

2 个答案:

答案 0 :(得分:2)

我只是在猜测,但我认为问题在于BluetoothManager.frameworkBluetoothManager *bluetoothManager = //... [bluetoothManager setDevicePairingEnabled:YES]; [bluetoothManager connectDevice:bluetoothDevice withServices:0x00002000]; 。这允许(等等)SPP蓝牙连接到认证的设备。但问题是:你需要一个内置认证芯片的设备。

我不知道Apple在哪个级别/层上实现了身份验证,但我担心它会在BeeTee使用的私有框架下完成一层。

更新:也许这对你有帮助:

{{1}}

External Accessory Program by Apple

答案 1 :(得分:1)

BluetoothManager *bluetoothManager = //...
[bluetoothManager setDevicePairingEnabled:YES];
[btManager setPincode:@"111111" forDevice:bluetoothDevice.deviceRef];
//where 111111 is your device PIN
[bluetoothManager connectDevice:bluetoothDevice withServices:0x00002000];