使用iOS外部附件协议在外部附件上支持多个App

时间:2015-12-29 17:07:10

标签: ios iphone external-accessory smartdevicelink

我们正在开发一种MFi外部配件,我们可以使用外部附件协议从iPhone启动iOS应用程序。我们正在使用福特Smartdevicelink协议注册应用程序。我们使用USB作为配件和iPhone之间的通信媒介。目前,我们可以在附件上启动一个应用程序。我们希望同时启动多个应用。但是我们在这里受到了打击。请提供一些关于我们如何实现这一目标的意见。甲

我们面临的问题是,如果一个应用程序已经在附件和iPhone中启动,如果我们在iPhone中启动另一个应用程序,而之前的应用程序处于后台,则附件会收到“StopExternalAccessoryProtocolSession”作为后台应用程序。因此,后台应用程序变得不起作用,因此一次只有一个应用程序可用。对于推出的新应用程序,我们收到“StartExternalAccessoryProtocolSession”,它将正常运行。

我们还为所有应用程序使用一个协议标识符。我们应该为所有应用程序使用不同的协议来支持多个应用程序吗或者如果我们可以使用单一协议标识符实现这一点,请提供有关如何实现此目的的输入。?

2 个答案:

答案 0 :(得分:2)

我是SDL-iOS的维护者。





对于SDL,我们采用的方式是使用最多30个协议字符串。该应用程序将查找 com.smartdevicelink.prot0 流并连接。它将从要连接到其中的数据协议的附件接收单个字节的数据 0x01 - 0x1E





这是SDL协议列表字符串。





已编辑以修复错误的陈述。




答案 1 :(得分:0)

外部附件的数据流只能读取一次。 对于类似的问题,我实现了一个套接字服务器,可以通过tcp或udp发送从附件读取的数据,所以我只是有一个与外部附件交互的主应用程序,并作为其他应用程序的代理(我正在谈论的应用程序)是NMEA Gps,并允许其他应用程序从双电子设备连接到外部Gps)