我可以一次将单个MFI附件与两个应用程序连接

时间:2014-11-17 12:02:28

标签: ios external-accessory mfi eaaccessory

我有两个相同UISupportedExternalAccessoryProtocols的应用。这些是与MFI certified设备通信。我怎么知道会话已经在同一设备上使用其他应用程序创建。因此,我可以提醒用户,您不能一次使用相同的附件创建多个sessions

请帮忙解决这个问题。 提前致谢。

2 个答案:

答案 0 :(得分:1)

我个人认为AyBayBay的回答无效,因为您使用" iOS标记"标记了您的问题。此平台不支持NSDistributedNotificationCenter。 (这样做有一个低级api,但我认为它是在私有框架中)

如果您假装将应用程序定位到iOS8 +,最简单的方法是使用iOS8的AppExtensions功能。我做了一些测试,在我的应用程序中创建了一个会话,并使用扩展程序从另一个应用程序向该设备发送信息。

一些应用 - >应用扩展程序 - >我的应用程序与ext.device连接 - > ext.device

因此,我非常确定您是否可以检查会话是否已打开,并将此信息返回给来电者应用。

仅供参考:要将信息传递给另一个应用程序,您也可以使用URLSchemes或UIPasteboard,但这两种行为的方式与AppExtensions不同,我认为它不适合您的情况。也许它可以帮助别人...

答案 1 :(得分:0)

当一个应用程序连接并与您的MFI设备建立会话时,您可以向NSDistributedNotificationCenter发布通知。您的其他应用程序可以订阅并收听此消息,在收到它并在其runLoop中处理它时(当它返回到前台时),您可以拥有阻止它同时创建会话的代码。你将不得不尝试这一点,但可以做到。