2

我们正在开发一个 MFi 外部附件,我们可以使用外部附件协议从 iPhone 启动 iOS 应用程序。我们正在使用福特 Smartdevicelink 协议来注册应用程序。我们使用 USB 作为配件和 iPhone 之间的通信媒介。目前,我们能够在配件上启动一个应用程序。我们想同时启动多个应用程序。但我们在这里感到震惊。请提供一些关于我们如何做到这一点的意见。一个

我们面临的问题是,如果一个应用程序已经在附件和 iPhone 中启动,如果我们在 iPhone 中启动另一个应用程序而前一个应用程序在后台,附件会收到后台应用程序的“StopExternalAccessoryProtocolSession”。因此,后台应用程序变得无法运行,因此一次只有一个应用程序可以运行。对于启动的新应用程序,我们会收到“StartExternalAccessoryProtocolSession”并且它会起作用。

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

4

2 回答 2

2

我是 SDL-iOS 的维护者。

对于 SDL,我们解决它的方法是允许使用多达 30 个协议字符串。该应用程序将查找com.smartdevicelink.prot0流并连接。它将从要连接的数据协议的附件0x01接收单个字节的数据。0x1E

这是 SDL 协议字符串的列表。

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

于 2016-02-25T13:27:54.570 回答
0

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

于 2015-12-29T17:33:54.800 回答