如何在连接到 USB 时启动我的应用程序?

Posted

技术标签:

【中文标题】如何在连接到 USB 时启动我的应用程序?【英文标题】:How to launch my app on connecting to USB? 【发布时间】:2014-12-03 15:50:33 【问题描述】:

我想让我的应用在 USB 连接时启动。我想有两种方法可以解决这个问题,第一种是某种外部监控进程,它始终在运行并检查此类事件,第二种是应用程序本身的进程。

在谷歌上呆了一整天,我首先想到我可以使用 ExternalAccessory.framework 来监控 USB 端口。但是,我看到的唯一示例是应用程序已经在运行时。是否有任何流程可以让我添加我的应用以在 ios 开始同步时启动?

或者,是否可以为此目的使用 ExternalAccessory,而我只是以错误的方式进行操作?

【问题讨论】:

这在非越狱设备上是不可能的。 感谢cmyr的回复,我怀疑可能是网上资料不足所致。你能不能再扩展一下。 我实际上并没有参考任何特定的 API,我只是高度确信这个功能是不可能的。一方面,Apple 不允许您运行守护程序或在后台运行(某些特殊情况除外)。最终,这与苹果的总体设计理念背道而驰。应用程序无法“决定用户想要什么”,并且系统无法知道用户希望您的应用程序在每次建立 USB 连接的情况下启动。 谢谢cmyr,你的逻辑是有道理的,我想我必须找到一个替代方案 如果它是一个支持MFi的自定义USB设备,实际上你可以做到这一点。例如,我使用小型蓝牙玩具设备开发了一个 iOS 应用程序。连接到它后,应用程序将启动(有时会显示一个弹出窗口,询问我们是否要启动应用程序)。好吧,至少对于蓝牙 ExternalAccessory,制造商部分对我来说是未知的。 【参考方案1】:

查看上面的 cmets,cmyr 的 cmets 确实是正确的,正如 Larme 正确指出的那样,唯一的解决方案是使用 MFi,它可以将 USB 设备配置为自定义设置,始终提示 iOS 作为连接.

【讨论】:

以上是关于如何在连接到 USB 时启动我的应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

在连接到 Internet 时构建 Flutter Web 应用程序会给我一个内部服务器错误。?

如何在连接到局域网的其他电脑上使用SQL Server数据库运行桌面应用程序?

React Native Android Fetch 在连接到本地 API 时失败

Django Nginx 和 Gunicorn .sock 在连接到上游时失败(2:没有这样的文件或目录)

iPhone 在连接到 Mac 时显示问号(代替其图标)

如何在连接到远程系统的设备上部署和执行应用程序?