iOS开发简单的实现后台任务(诸如后台播放音乐,定时器,后台定位等)
Posted 落花伊人
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS开发简单的实现后台任务(诸如后台播放音乐,定时器,后台定位等)相关的知识,希望对你有一定的参考价值。
最多能运行多长时间,没挑战过极限,具体能保持多长时间需要自己测试下。
注意:用真机测试
直接上代码
在appdelegate的.m中的进入后台时加入一些代码操作即可
- /**
- * 当app进入后台时调用
- */
- - (void)applicationDidEnterBackground:(UIApplication *)application
- {
- /**
- * app的状态
- * 1.死亡状态:没有打开app
- * 2.前台运行状态
- * 3.后台暂停状态:停止一切动画、定时器、多媒体、联网操作,很难再作其他操作
- * 4.后台运行状态
- */
- // 向操作系统申请后台运行的资格,能维持多久,是不确定的
- // self.task = [application beginBackgroundTaskWithExpirationHandler:^{
- // // 当申请的后台运行时间已经结束(过期),就会调用这个block
- //
- // // 赶紧结束任务
- // [application endBackgroundTask:self.task];
- // }];
- __block UIBackgroundTaskIdentifier task = [application beginBackgroundTaskWithExpirationHandler:^{
- // 当申请的后台运行时间已经结束(过期),就会调用这个block
- // 赶紧结束任务
- [application endBackgroundTask:task];
- }];
- /**
- 1.定义变量UIBackgroundTaskIdentifier task
- 2.执行右边的代码
- [application beginBackgroundTaskWithExpirationHandler:^{
- // 当申请的后台运行时间已经结束(过期),就会调用这个block
- // 赶紧结束任务
- [application endBackgroundTask:task];
- }];
- 3.将右边方法的返回值赋值给task
- */
- // 在Info.plst中设置后台模式:Required background modes == App plays audio or streams audio/video using AirPlay
- // 搞一个0kb的MP3文件,没有声音
- // 循环播放
- // 以前的后台模式只有3种
- // 保持网络连接
- // 多媒体应用
- // VOIP:网络电话
- }
以上是关于iOS开发简单的实现后台任务(诸如后台播放音乐,定时器,后台定位等)的主要内容,如果未能解决你的问题,请参考以下文章
ios开发视频播放后台下载功能实现 :1,ios播放视频 ,包含基于AVPlayer播放器,2,实现下载,iOS后台下载(多任务同时下载,单任务下载,下载进度,下载百分比,文件大小,下载状态)(真机调