iOS开发简单的实现后台任务(诸如后台播放音乐,定时器,后台定位等)

Posted 落花伊人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS开发简单的实现后台任务(诸如后台播放音乐,定时器,后台定位等)相关的知识,希望对你有一定的参考价值。

 

最多能运行多长时间,没挑战过极限,具体能保持多长时间需要自己测试下。

注意:用真机测试

 

直接上代码

在appdelegate的.m中的进入后台时加入一些代码操作即可

 

  1. /** 
  2.  *  当app进入后台时调用 
  3.  */  
  4. - (void)applicationDidEnterBackground:(UIApplication *)application  
  5. {  
  6.     /** 
  7.      *  app的状态 
  8.      *  1.死亡状态:没有打开app 
  9.      *  2.前台运行状态 
  10.      *  3.后台暂停状态:停止一切动画、定时器、多媒体、联网操作,很难再作其他操作 
  11.      *  4.后台运行状态 
  12.      */  
  13.     // 向操作系统申请后台运行的资格,能维持多久,是不确定的  
  14. //    self.task = [application beginBackgroundTaskWithExpirationHandler:^{  
  15. //        // 当申请的后台运行时间已经结束(过期),就会调用这个block  
  16. //          
  17. //        // 赶紧结束任务  
  18. //        [application endBackgroundTask:self.task];  
  19. //    }];  
  20.     __block UIBackgroundTaskIdentifier task = [application beginBackgroundTaskWithExpirationHandler:^{  
  21.         // 当申请的后台运行时间已经结束(过期),就会调用这个block  
  22.   
  23.         // 赶紧结束任务  
  24.         [application endBackgroundTask:task];  
  25.     }];  
  26.       
  27.     /** 
  28.     1.定义变量UIBackgroundTaskIdentifier task 
  29.     2.执行右边的代码 
  30.     [application beginBackgroundTaskWithExpirationHandler:^{ 
  31.         // 当申请的后台运行时间已经结束(过期),就会调用这个block 
  32.          
  33.         // 赶紧结束任务 
  34.         [application endBackgroundTask:task]; 
  35.     }]; 
  36.      3.将右边方法的返回值赋值给task 
  37.      */  
  38.       
  39.       
  40.     // 在Info.plst中设置后台模式:Required background modes == App plays audio or streams audio/video using AirPlay  
  41.     // 搞一个0kb的MP3文件,没有声音  
  42.     // 循环播放  
  43.       
  44.     // 以前的后台模式只有3种  
  45.     // 保持网络连接  
  46.     // 多媒体应用  
  47.     // VOIP:网络电话  
  48. }

以上是关于iOS开发简单的实现后台任务(诸如后台播放音乐,定时器,后台定位等)的主要内容,如果未能解决你的问题,请参考以下文章

iOS音乐后台播放锁屏封面及播放控制

iOS音乐后台播放锁屏封面及播放控制

IOS后台运行 之 后台播放音乐

ios开发视频播放后台下载功能实现 :1,ios播放视频 ,包含基于AVPlayer播放器,2,实现下载,iOS后台下载(多任务同时下载,单任务下载,下载进度,下载百分比,文件大小,下载状态)(真机调

iOS 实现后台 播放音乐声音 AVAudioPlayer

iOS后台播放