【iOS系列】-程序开启后台运行

iOS程序是伪后台的运行,可是有时候我们需要让其在后台也要进行一些操作,我们可以让其伪装成音乐的APP,这样就可以让程序后台进行相关操作了,具体做法如下:

1:在AppDelegate.m的applicationDidEnterBackground方法中开启后台任务
- (void)applicationDidEnterBackground:(UIApplication *)application
{
// 开启后台任务,让程序保持运行状态
[application beginBackgroundTaskWithExpirationHandler:nil];
}
2:在info.plist中添加程序的音乐标示

新建一个:Required background modes类型的NSArray

并在子类目下新建一个Item 0 其value为App plays audio or streams audio/video using AirPlay

3: 设置AVAudioSession类型
    // 设置音频会话类型
AVAudioSession *session = [AVAudioSession sharedInstance];
//AVAudioSessionCategorySoloAmbient:官方解释, Use this category for background sounds. Other music will stop playing,也即这个APP播放的时,其他APP会停止播放
[session setCategory:AVAudioSessionCategorySoloAmbient error:nil];
[session setActive:YES error:nil];

最新文章

  1. Android—自定义控件实现ListView下拉刷新
  2. Wabpack系列:在webpack+vue开发环境中使用echarts导致编译文件过大怎么办?
  3. hdu1019 Least Common Multiple
  4. mysql查询所有表行数
  5. C/C++语言参数传递----函数/方法 参数的指针引用传递
  6. docker private registry使用
  7. HTTP报文格式详解
  8. 转换String三种方式比较:toString()、String.valueOf()、(String)
  9. Fio测试工具参数
  10. robotframework+selenium搭配chrome浏览器,web测试案例(搭建篇)
  11. EL表达式 EL函数 自定义el函数 《黑马程序员_超全面的JavaWeb视频教程vedio》
  12. awt
  13. element-ui 组件源码分析整理笔记目录
  14. centos6.9上mongdb安装
  15. How can R and Hadoop be used together?
  16. lucene 一次查询多个id
  17. JavaScript Boolean( new Boolean(false) ) 其实是true
  18. CentOS7忘记mysql的root密码_处理方法.
  19. vux 使用 font-awesome
  20. php脚本输出js代码不执行的解决办法和原理。

热门文章

  1. metasploitable2更改root密码
  2. 02-Mysql中的运算符
  3. (12) OpenSSL主配置文件openssl.cnf
  4. ssh服务介绍
  5. SHELL十三问[转载自CU论坛]
  6. Leetcode 221.最大的正方形
  7. Android ShapeDrawable之OvalShape、RectShape、PaintDrawable、ArcShape
  8. ZOJ3860-Find the Spy
  9. vue2.0 类淘宝不同屏幕适配及px与rem转换问题
  10. python学习之-- IO多路复用 select模块