使用 iOS 外部附件协议对外部附件的多应用支持

Multiple App Support on external accessory using iOS external accessory protocol

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

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

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

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

我是 SDL 的维护者-iOS。

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

This is a list of the SDL Protocol Strings.

已编辑 以更正错误的陈述。