iOS新手学习

iOS后台运行

2018-06-06  本文已影响280人  zhimingcow

我们知道,当app进入后台以后大约3分钟或者10分钟之后app就会被系统挂起。

最近有个项目需求:App作为websocket的服务端,其他app或网页通过websocket连接并调用服务端的接口。那么就要求我的App必须在进入后台后也能一直运行,不能被系统挂起或杀死。

查找了很多资料,一般有以下几种解决方案:

1、不断向系统申请后台运行时间,即可让App一直在后台运行,socket也不会断开;
https://www.jianshu.com/p/d62c6d3ae8ff

2、VoIP,远程消息推送,可以在后台唤醒App,并获得30s的后台运行时间;微信收款到账语音播报就是这个方法:
http://mp.weixin.qq.com/s/yYCaPMxHGT9LyRyAPewVWQ

注意:iOS10开始,苹果不再支持VoIP应用的后台socket长连接,需要使用苹果推荐的pushkit,降低app耗电。

3、background mode勾选Audio,后台播放无声音乐,但耗电是一个问题。不是音乐应用,可能通不过苹果审核。

4、background mode勾选Location,后台开启定位功能,同样耗电是一个问题,可能还耗流量,并且不是定位应用,可能通不过审核。

5、APNS

上一篇 下一篇

猜你喜欢

热点阅读