我可以在后台通过蓝牙发现其他iOS设备吗?

时间:2010-11-17 11:54:04

标签: iphone ipad bonjour gamekit

我希望能够在我的应用程序处于后台时通过蓝牙发现其他iOS设备。当我的应用程序不在前台时,是否可以使用Bonjour或Game Kit进行此发现?

是否可以执行此操作并在发现兼容设备时触发通知?

另外,我可以在播放音频时在后台运行并进行此检测吗?

1 个答案:

答案 0 :(得分:4)

暂停申请时无法执行此操作。来自iOS Application Programming Guide

  

在被暂停之前取消任何与Bonjour相关的服务。当你的   应用程序移动到后台,   它应该暂停之前   从Bonjour取消注册并关闭   与任何相关的侦听套接字   网络服务。暂停了   应用程序无法响应传入   无论如何服务请求。关闭   这些服务阻止了他们   他们似乎可以使用   实际上不是。如果你不关闭   Bonjour服务自己,   系统关闭这些服务   当你的申请是自动的   暂停。

     

准备好处理基于网络的连接失败   插座。系统可能会拆除   你的套接字连接   申请暂停任何   原因多少。只要你的   基于套接字的代码准备好了   其他类型的网络故障,例如   作为丢失的信号或网络   转型,这不应该导致   任何异常问题。当你的   应用程序恢复,如果它遇到   简单地说,使用套接字失败了   重建连接。

但是,如果您的应用程序是流式传输音频,则必须保持网络连接,因此您应该能够在后台为应用程序连续播放音频进行Bonjour发现。请确保您不要通过在循环中播放静音音频片段来滥用此功能,以便您可以留在后台,或者您的应用程序将被拒绝。