是否可以连接蓝牙设备,而无需在iOS中配对?

时间:2017-09-06 08:48:18

标签: ios iphone bluetooth external-accessory

问题不在于BLE设备,它只是普通的蓝牙设备。

目前我的代码是这样的, 我叫这个函数:

[[EAAccessoryManager sharedAccessoryManager] showBluetoothAccessoryPickerWithNameFilter:nil completion:^(NSError *error)
        {

        }];
    }

然后打开弹出的可用蓝牙设备列表,然后点击我想要的设备并获取一个对象并继续。

有什么方法可以跳过这个选择器步骤并直接获取我的设备的对象?

1 个答案:

答案 0 :(得分:1)

不,如果没有配对,就无法连接。第一次,您必须通过“设置”应用或选择器与设备建立用户对。但是,在第一次配对后,如果配件已连接到iOS设备,您可以跳过选择器并为配件获得EAAccesory *。以下是查询连接附件列表的方法:

NSArray<EAAccessory *> *connectedAccessories = [EAAccessoryManager sharedAccessoryManager].connectedAccessories;
for (EAAccessory *accessory in connectedAccessories) {
    // Implement needed filter to recognize your device.
    // You can use for instance accessory.protocolStrings
    // The MAC address is available with [accessory valueForKey:@"macAddress"]
}

使用EAAccessory框架,您无法以编程方式启动与设备的连接。对于后续连接,您可以让设备重新连接到最后连接的设备(如果您控制固件)。如果您的应用位于前台,则会触发EAAccessoryDidConnectNotification,否则会将通知排队并更新已连接的配件列表。