iOS:在我的应用中配对蓝牙外围设备,而不是使用“设置”

问题描述

问题

我正在为蓝牙外设编写一个应用程序,我想直接在我的应用程序中将外设与iPhone配对,而不要求用户转到“设置”应用程序并手动进行配对。我看到“ Sony耳机连接”应用程序确实做到了这一点,并且我希望在我的应用程序中具有相同的功能。我在Core Bluetooth中找不到执行此操作的任何操作。有想法吗?

其他信息

这是Sony应用程序的工作。最初,外围设备(耳机)未与iPhone配对,如下所示:

enter image description here

我运行该应用程序并按照该应用程序的说明打开耳机的电源:

enter image description here

过一会儿,应用程序找到并显示了耳机,我点击它进行注册

enter image description here

出现一个对话框,我再次点击:

enter image description here

最后,应用程序报告耳机已注册

enter image description here

现在在“设置”应用程序中,我可以看到耳机已经通过Sony应用程序配对并连接:

enter image description here

解决方法

与MFi设备配对:

您可以导入外部附件框架并使用showBluetoothAccessoryPicker显示选择附件选择器。

// Objective-C
[[EAAccessoryManager sharedAccessoryManager] showBluetoothAccessoryPickerWithNameFilter:nil completion:nil];

// Swift        
EAAccessoryManager.shared().showBluetoothAccessoryPicker(withNameFilter: nil,completion: nil)

注意:不要忘记在Info.plist中添加需要支持的协议

与BLE设备配对:

您可以导入Core Bluetooth框架,并使用scanForPeripherals中的CBCentralManager来获取设备列表,并创建自定义选择器以将其显示在didDiscover委托方法中。

有关扫描和与BLE设备连接的更多详细步骤,请参阅here