【问题标题】:iOS connect/reconnect to Bluetooth device when using external-accessory and MFiiOS 在使用外部附件和 MFi 时连接/重新连接蓝牙设备
【发布时间】:2013-08-14 20:08:17
【问题描述】:

我的问题是针对那些有 MFi 和外部附件框架经验的人。

如果我使用外部蓝牙配件,有没有办法向远程设备发出连接请求?我的意思是以编程方式,无需用户参与。如果发生蓝牙链路丢失,谁发起重新连接 - iOS 设备或外部附件?

我得到的信息是:

1) iOS 设备从蓝牙设置屏幕进行第一次连接(连同配对)。完成此步骤后,设备将配对并相互记住。

2) 那么应该是外部附件发出连接请求。在 iOS 端,唯一的方法是从设置手动连接设备,在程序中没有办法做到这一点。 (嗯,EAAccessoryManager 中有 showBluetoothAccessoryPickerWithNameFilter 方法,但它需要用户参与,而且 AFAIK 存在一些问题并且无法按预期工作)

3) 如果发生蓝牙链路丢失,应尝试重新连接外部附件。 iOS 不会尝试重新连接。

我的理解正确吗? 提前致谢。

【问题讨论】:

    标签: ios external-accessory mfi


    【解决方案1】:

    您要求的大部分信息都可以在 Apple MFi 网站上找到。大多数问题都无法回答,因为我们必须签署 NDA。

    但是我可以告诉您,一旦您将设备与 Apple MFI 蓝牙模块配对,则由蓝牙模块来保持连接处于活动状态,如果您关闭设备并重新打开蓝牙模块会初始化连接,

    如果您失去连接,模块将重新连接。连接后,您可以从 EAAccessory 框架打开 SSP 连接。

    杰米

    【讨论】:

    • 杰米,谢谢你的回答。但是“MFI 蓝牙模块”是什么意思——是 iOS 端还是配件端?
    • MFI 蓝牙模块是附件端,是 Roving Networks RN41 / RN42 蓝牙模块的变体。
    • 我们的BT设备(使用MFi芯片)也有同样的问题。配对和手动连接工作。当然,一旦 iPhone 和设备相距太远,连接就会关闭。但是,如果他们再次接触到对方,他们就不会重新联系。再次连接的唯一方法是进入 iOS System Prefs 并再次选择要连接的设备。您是说这不正常,并且两者都应该自动重新连接吗?由于 EA API 似乎对此没有任何帮助,我认为我们设备上的 BT 芯片(不是 MFi 芯片)行为不端?
    • 我的 iOS 应用可以连接到我的蓝牙经典 MFI 配件。附件可以从附件端断开和重新连接。我可以看到 iOS 设置蓝牙设备状态从 iOS 端更改回连接,而我没有任何操作。我的问题是我的应用程序看不到 MFI 应用程序已重新连接。即使 EAAccessoryManager 调用了 registerForLocalNotifications,我也没有收到 EAAccessoryDidConnectNotification??
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-11
    • 1970-01-01
    • 2012-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-25
    相关资源
    最近更新 更多