我们正在构建一款定制蓝牙设备,该设备支持用于免提的经典蓝牙以及用于其他功能的蓝牙 LE。我可以通过蓝牙 LE 连接并与设备通信,但是现在用户必须从“设置”中手动与设备配对才能使免提功能正常工作。与 Apple Watch 一样,当从可用设备的蓝牙 LE 列表中选择设备时,是否可以通过经典蓝牙自动与设备配对?
基本上,这就是我们希望它如何工作。
- 用户首次启动应用程序。
- 用户将被重定向到注册屏幕,并在我们的环境中注册他们的手机。
- 用户将进入应用程序控制面板,然后单击应用程序设置按钮。
- 在“设置”中,用户点击“蓝牙外设”,就会进入一个屏幕,其中列出了范围内的 BLE 设备。
这就是新魔法需要发生的地方:
- 用户选择 BLE 设备,设备将通过 BLE 被发现并连接。
- 发现设备特征后,应用程序应通过经典蓝牙与设备配对,以便麦克风和扬声器等免提功能正常工作。
感谢任何帮助。
我已经研究了外部附件框架,但是我无法让它正常工作。应用程序一直失败,告诉我“init”不可用或其他什么。
谢谢。
最佳答案
我们正在尝试做同样的事情,看起来如果离开您的应用程序,转到 Settings.app 中的蓝牙设置并点击那里的设备,您只能配对通过 HFP 配置文件工作的免提设备。从应用程序来看,这是绝对不可能的。我最近检查过的所有免提供应商(Jabra、Parrot 等)都是这样做的。
我唯一能想到的就是通过 BLE 进行配对,通过 BLE 打开 Settings.app 中的蓝牙设置屏幕,将 iPhone 名称发送到您的免提配件,然后等待配件发现 iPhone 并连接到它从它的侧面。这将为您的用户节省点击次数,但他仍然必须打开 Settings.app(手动,该死的,甚至不通过系统警报)。
ExternalAccessory.framework用于连接MFi程序中注册的设备。它与使用 HFP 配置文件的免提设备完全无关。
关于iOS/swift : Automatically Pair With Bluetooth Classic Device,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34028826/