Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/107.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用外部附件和MFi时,iOS连接/重新连接到蓝牙设备_Ios_External Accessory_Mfi - Fatal编程技术网

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

使用外部附件和MFi时,iOS连接/重新连接到蓝牙设备,ios,external-accessory,mfi,Ios,External Accessory,Mfi,我的问题是给那些有MFi和外部附件框架经验的人 如果我使用外部蓝牙附件,有没有办法向远程设备发出连接请求?我的意思是通过编程,没有用户参与。如果发生蓝牙链路丢失,谁发起重新连接-iOS设备或外部附件 我能得到的信息是: 1) 第一次连接(连同配对)由iOS设备从蓝牙设置屏幕进行。在此步骤之后,设备将配对并相互记住 2) 然后是外部附件应发出连接请求。在iOS端,唯一的方法是通过设置手动连接设备,在程序中无法实现。(EAAccessoryManager中有showBluetoothAccessor

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

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

我能得到的信息是:

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

2) 然后是外部附件应发出连接请求。在iOS端,唯一的方法是通过设置手动连接设备,在程序中无法实现。(EAAccessoryManager中有showBluetoothAccessoryPickerWithNameFilter方法,但它需要用户参与,而且可能存在一些问题,无法按预期工作)

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

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

您要了解的大部分信息都可以在苹果MFi网站上找到。大多数问题无法回答,因为我们必须签署保密协议

但是,我可以告诉您,一旦您将设备与Apple MFI蓝牙模块配对,蓝牙模块就可以保持连接,如果您关闭并重新打开设备,蓝牙模块将初始化连接

如果您失去连接,模块将重新连接。一旦连接,您就可以从EAF附件框架打开SSP连接


杰米

杰米,谢谢你的回答。但“MFI蓝牙模块”是什么意思?它是iOS还是附件侧?MFI蓝牙模块是附件侧,是流动网络RN41/RN42蓝牙模块的变体。我们的BT设备(使用MFI芯片)也有同样的问题。配对和手动连接工作。当然,一旦iPhone和设备相距太远,连接就会关闭。但如果他们再次接触到对方,他们就不会重新连接。再次连接的唯一方法是进入iOS系统Prefs并再次选择要连接的设备。你是说这不正常,两者应该自动重新连接吗?由于EA API似乎对此没有任何内容,我假设我们设备上的BT芯片(而不是MFi芯片)出现故障?我的iOS应用程序可以连接到我的蓝牙经典MFi附件。附件可以从附件端断开和重新连接。我可以看到iOS设置蓝牙设备状态从iOS端更改回已连接状态,而无需我执行任何操作。我的问题是我的应用程序无法看到MFI应用程序已重新连接。即使EAAccessoryManager已调用RegisterForLocalNotification,我也不会收到EAAccessoryDidConnectNotification??