我们正在开发一个 MFi 外部配件,我们可以使用外部配件协议(protocol)从 iPhone 启动 iOS 应用程序。我们正在使用 Ford Smartdevicelink 协议(protocol)来注册应用程序。我们使用 USB 作为配件和 iPhone 之间的通信媒介。目前,我们可以在配件上启动一款应用程序。我们想同时启动多个应用程序。但我们在这里受到了打击。请提供一些关于我们如何实现这一目标的意见。
我们面临的问题是,如果一个应用程序已经在配件和 iPhone 中启动,如果我们在 iPhone 中启动另一个应用程序而前一个应用程序处于后台,则配件会收到后台应用程序的“StopExternalAccessoryProtocolSession”。因此,后台应用程序变得不起作用,因此一次只有一个应用程序可以运行。对于启动的新应用程序,我们收到“StartExternalAccessoryProtocolSession”并且它开始运行。
此外,我们为所有应用程序使用一个协议(protocol)标识符。我们是否应该为所有应用程序使用不同的协议(protocol)来支持多个应用程序?或者如果我们可以使用单一协议(protocol)标识符来实现这一目标,请提供有关我们如何实现这一目标的信息。?
最佳答案
我是 SDL-iOS 的维护人员。
对于 SDL,我们解决这个问题的方法是启用最多 30 个协议(protocol)字符串。该应用程序将查找 com.smartdevicelink.prot0
流并连接。它将从要连接的数据协议(protocol)的附件接收单字节数据0x01
- 0x1E
。
This is a list of the SDL Protocol Strings.
已编辑以修正错误的陈述。
关于ios - 使用 iOS 外部配件协议(protocol)的外部配件的多个应用程序支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34515626/