iOS使用外部附件和MFi时,如何连接/重新连接蓝牙设备?

9
我的问题是针对那些有MFi和外部配件框架经验的人。
如果我使用外部蓝牙配件,是否有办法向远程设备发出连接请求?我的意思是以编程方式进行,无需用户参与。如果发生蓝牙链接丢失,是iOS设备还是外部配件发起重新连接?
我能够获得的信息是:
1)第一次连接(连同配对)是由iOS设备从蓝牙设置屏幕开始的。在此步骤之后,设备将配对并记住彼此。
2)然后是外部配件应该发出连接请求。从iOS方面来看,唯一的方法是手动从设置中连接设备,在程序中没有办法。(好吧,EAAccessoryManager中有一个showBluetoothAccessoryPickerWithNameFilter方法,但它需要用户参与,并且据我所知,它存在一些问题,不能像预期的那样工作)
3)如果蓝牙链接丢失,则是外部配件应该尝试重新连接。iOS不会尝试重新连接。
我的理解正确吗? 提前感谢您。
1个回答

4
大部分你所需要的信息都可以在Apple MFi网站上找到。由于我们必须签署保密协议,因此大多数问题无法回答。
然而,我可以告诉您一旦将您的设备与苹果MFI蓝牙模块配对后,蓝牙模块会保持连接状态,如果您关闭并重新打开设备,则蓝牙模块会初始化连接。
如果连接丢失,模块将重新连接。一旦连接成功,您就可以从EAAccessory框架打开SSP连接。
Jamie

杰米,谢谢你的回答。但是你所谓的“MFI蓝牙模块”是什么意思 - 是iOS端还是配件端? - SergeyM
MFI蓝牙模块是附件端,是Roving Networks RN41 / RN42蓝牙模块的变体。 - Jamie Cruickshank
我们的BT设备(使用MFi芯片)也有同样的问题。配对和手动连接都可以正常工作。一旦iPhone和设备距离过远,连接当然会断开。但是如果它们再次接近,它们不会重新连接。唯一重新连接的方法是进入iOS系统偏好设置并选择设备以重新连接。您是说这不正常,并且两者都应该自动重新连接吗?由于EA API似乎没有任何相关内容,我认为我们设备上的BT芯片(而不是MFi芯片)出现了故障? - Thomas Tempelmann
我的iOS应用程序可以连接到我的蓝牙经典MFI配件。该配件可以从配件端断开并重新连接。我可以看到iOS设置蓝牙设备状态从iOS侧更改为已连接,而无需我采取任何操作。我的问题是我的应用程序无法看到MFI应用程序已重新连接。即使EAAccessoryManager已调用registerForLocalNotifications,我也没有收到EAAccessoryDidConnectNotification通知? - Ed of the Mountain

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接