iOS长时间运行后台服务侦听多播数据包

时间:2014-10-16 22:45:59

标签: ios objective-c xcode mobile background

我们公司需要构建一个应用程序,需要在后台持续运行服务,侦听多播数据包并将其内容缓存到可变大小的文件中以增强用户体验,无论应用程序如何,后台服务都需要运行正在跑步。我在这里和docs中看到的建议方法(如处理通知)不起作用,因为这些内容必须通过多播来实现,这需要不断打开套接字,同时使用TCP获取也不是选项,因为它会增加我们试图通过使用多播避免的网络负载。另一种方法是将应用程序注册为VoIP,以便当新数据到达该套接字(这将是多播套接字)时,应用程序将被操作系统唤醒,但我不确定这是否适合苹果认为是VoIP应用程序,所以我担心我们在批准应用程序时会遇到问题。

非常感谢有关如何实施此解决方案的任何建议!

修改 这不是企业应用程序,它旨在用于专用WiFi并依赖我们的服务器(部署在相同的WiFi上)进行多播。它还需要在商店公开供我们的客户下载。

1 个答案:

答案 0 :(得分:0)

根据Apple的说法:

  

<强> 1。 Re:长时间运行后台侦听组播数据包。   回应Daniel Inc.于2014年10月17日上午1:16

     

我们公司需要构建一个需要拥有的应用程序   服务不断在后台运行,监听多播   包[...]

AFAIK在iOS上没有支持的方法。

  

另一种方法是将应用程序注册为VoIP,以便应用程序能够   当新数据到达该套接字时,操作系统会唤醒(这会   是多播套接字),但我不确定这是否适合Apple   我认为是一个VoIP应用程序,所以我担心我们会这样做   获得应用程序批准的问题。

无论批准问题如何,VoIP基础设施仅支持TCP数据套接字。

分享并享受

奎因“爱斯基摩人!” &GT; Apple开发人员关系,开发人员技术支持,核心操作系统/硬件