我有两个相同UISupportedExternalAccessoryProtocols
的应用。这些是与MFI certified
设备通信。我怎么知道会话已经在同一设备上使用其他应用程序创建。因此,我可以提醒用户,您不能一次使用相同的附件创建多个sessions
。
请帮忙解决这个问题。 提前致谢。
答案 0 :(得分:1)
我个人认为AyBayBay的回答无效,因为您使用" iOS标记"标记了您的问题。此平台不支持NSDistributedNotificationCenter。 (这样做有一个低级api,但我认为它是在私有框架中)
如果您假装将应用程序定位到iOS8 +,最简单的方法是使用iOS8的AppExtensions功能。我做了一些测试,在我的应用程序中创建了一个会话,并使用扩展程序从另一个应用程序向该设备发送信息。
一些应用 - >应用扩展程序 - >我的应用程序与ext.device连接 - > ext.device
因此,我非常确定您是否可以检查会话是否已打开,并将此信息返回给来电者应用。
仅供参考:要将信息传递给另一个应用程序,您也可以使用URLSchemes或UIPasteboard,但这两种行为的方式与AppExtensions不同,我认为它不适合您的情况。也许它可以帮助别人...
答案 1 :(得分:0)
当一个应用程序连接并与您的MFI设备建立会话时,您可以向NSDistributedNotificationCenter发布通知。您的其他应用程序可以订阅并收听此消息,在收到它并在其runLoop中处理它时(当它返回到前台时),您可以拥有阻止它同时创建会话的代码。你将不得不尝试这一点,但可以做到。