ios实现无限后台任务

需求服务器

咱们的app是使用心跳机制来保持用户的登录状态,这样才能收到服务器发来的消息和命令,可是当app进入后台之后大约3分钟或者10分钟以后app就会被系统挂起,用户就会超时下线,这样就必须保持app长时间的后台运行app

缘由测试

app通常有三种状态前台运行中、进入后台以及挂起状态,当咱们按home键或者锁屏键之后app进入后台运行,根据苹果的官方解释,苹果容许app运行一小段时间在后台运行,作一些处理,大约是十分钟左右的时间,十分钟以后app被系统强行挂起,挂起全部的操做和线程,当用户再点击进入此app时才会启动线程atom

方案线程

一、app内后台无线的播放音乐,Background Audio代理

二、后台不停的定位,Location Servicesip

三、后台语音服务,voipit

四、报刊杂志后台自动下载更新,Newsstandio

.....import

实现

我用的是后台定位,这是最简单的方式了,通过测试一上午用户都是在线的状态,可是个人app是企业级的应用不须要上线,因此没管审核的问题,此解决方案可能形成没法经过苹果的审核

引入头文件

#import <CoreLocation/CoreLocation.h>

在AppDelegate.m内添加变量

@property(nonatomic,strong)CLLocationManager * locationManager;

app启动后建立实例,设置代理

self.locationManager = [[CLLocationManager alloc] init];

    self.locationManager.delegate =self;

app进入后台之后,持续定位

[self.locationManager startUpdatingLocation];

相关文章
相关标签/搜索