iOS/swift : Automatically Pair With Bluetooth Classic Device

标签 ios swift bluetooth external-accessory bluetooth-lowenergy

我们正在构建一款定制蓝牙设备,该设备支持用于免提的经典蓝牙以及用于其他功能的蓝牙 LE。我可以通过蓝牙 LE 连接并与设备通信,但是现在用户必须从“设置”中手动与设备配对才能使免提功能正常工作。与 Apple Watch 一样,当从可用设备的蓝牙 LE 列表中选择设备时,是否可以通过经典蓝牙自动与设备配对?

基本上,这就是我们希望它如何工作。

  1. 用户首次启动应用程序。
  2. 用户将被重定向到注册屏幕,并在我们的环境中注册他们的手机。
  3. 用户将进入应用程序控制面板,然后单击应用程序设置按钮。
  4. 在“设置”中,用户点击“蓝牙外设”,就会进入一个屏幕,其中列出了范围内的 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/

    相关文章:

    ios - 折叠键盘、工具栏

    android - 面部跟踪和检测

    ios - 来自 foursquare 的图像是 NSURLErrorFileDoesNotExist = -1100

    iOS - 生成并播放不确定的简单音频(正弦波)

    iphone - 检测 iOS5 上何时禁用蓝牙

    ios - UICollectionView 无法在 ViewController.swift 中使用 IBOutlets

    ios - 使用 Float 遍历二维数组时出错

    ios - Swift - 计时器不会停止

    android - ActionBar 上的动态 TextView

    android - 无法从 RS232 蓝牙模块读取 InputStream