使用UIApplication对象的beginBackgroundTaskWithExpirationHandler申请后台执行任务,该任务只有大概3分钟的运行时间
注:应用在后台播放音乐,需要开启Background Modes,然后勾选Audio and AirPlay即可
如何达到不被kill的目的?
一般而言,音乐应用在后台是避免kill的,如果在后台应用可用时间即将为0时,播放一段音乐,就会使应用变为假前端状态。
可以尝试的解决方案如下:应用申请到后台执行任务后,使用NSTimer开启一个定时任务,主要负责监控应用剩余的后台可执行时间,当可用的时间少于一个值时,播放一段默声音乐,然后调用UIApplication对象的endBackgroundTask方法将之前申请的后台执行任务结束掉,最后再重新申请一个后台执行任务,这样就可以实现后台不限时执行任务了注:应用在后台播放音乐,需要开启Background Modes,然后勾选Audio and AirPlay即可