iOS后台运行

我们知道,当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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转载出处: http://www.jianshu.com/p/d3e279de2e32 iOS 后台运行的规则 应...
    Ethan_Struggle阅读 3,105评论 2 13
  • iOS 后台运行的规则 应用的运行状态分为以下五种:Not running:应用还没有启动,或者应用正在运行但是途...
    zhenby阅读 26,877评论 29 85
  • iOS 后台运行的规则 应用的运行状态分为以下五种: Not running:应用还没有启动,或者应用正在运行但是...
    tzhtodd阅读 1,608评论 1 5
  • 前言 对于APP的前后台运行情况的了解,有助于我们在实际开发中规避一些问题,以及采取稳妥的方法处理和解决问题,是很...
    進无尽阅读 3,289评论 7 12
  • 转载文章来自: http://www.cnblogs.com/jhzhu/p/3416305.html苹果官方原文...
    山杨阅读 5,324评论 7 8