即使ipad在蓝牙连接列表中显示设备名称,iOS App也无法检测蓝牙2.0耳机

时间:2014-08-14 10:11:13

标签: ios bluetooth-lowenergy core-bluetooth

在我的ipad中,当我进入蓝牙设置页面时,我可以在连接列表中看到我的三星耳机设备(HM 1100)。但是,当我使用以下代码时,我无法获得任何配件。

NSArray *accessories = [[EAAccessoryManager sharedAccessoryManager]
                                connectedAccessories];
        EAAccessory *accessory = nil;

        for (EAAccessory *obj in accessories)
        {
            NSLog(@"Found accessory named: %@", obj.name);
        }

应用程序是否有办法检测哪些蓝牙设备连接到ipad?有没有办法在iOS上列出任何未知的蓝牙外设?

2 个答案:

答案 0 :(得分:2)

在iOS中,“经典蓝牙”设备作为其底层服务对象而非蓝牙对象公开,因此耳机在AVAudioSession类中显示为音频路径。

外部附件框架用于与通过MFi计划认证的设备连接。

答案 1 :(得分:0)

我在how to find Bluetooth audio devices in iOS

中找到了答案

这是基本代码:

// portDesc.portType could be for example - BluetoothHFP, MicrophoneBuiltIn, MicrophoneWired
NSArray *availInputs = [[AVAudioSession sharedInstance] availableInputs];
int count = [availInputs count];
for (int k = 0; k < count; k++) {
    AVAudioSessionPortDescription *portDesc = [availInputs objectAtIndex:k];
    NSLog(@"input%i port type %@", k+1, portDesc.portType);
    NSLog(@"input%i port name %@", k+1, portDesc.portName);
}