iOS开发 NSTimer 后台运行
来源:互联网 发布:傲剑舍利子升级数据 编辑:程序博客网 时间:2024/06/06 05:09
一般来说当用户点击home键之后 app 会被挂起不会在后台运行 今天遇到一个音乐播放器 需要在后台倒计时播放时间 但是需要NSTimer 再后台也要运行
我的思路是 借助 ios 的后台音乐播放
不多说了 上代码
首先在pilst 文件里添加 Required background modes 字段 添加一项 为 App plays audio or streams audio/video using AirPlay
代码中再appdelegate 添加如下代码
#import "AppDelegate.h"
#import "HomeViewController.h"#import <AVFoundation/AVFoundation.h>@implementation AppDelegate- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; // Override point for customization after application launch. self.window.backgroundColor = [UIColor whiteColor]; [self.window makeKeyAndVisible]; //后台执行 NSError *err = nil; [[AVAudioSession sharedInstance]setCategory: AVAudioSessionCategoryPlayback error: &err]; [[AVAudioSession sharedInstance]setActive: YES error: &err]; return YES;}- (void)applicationDidEnterBackground:(UIApplication *)application{ //设置 后台运行 任务 UIApplication* app = [UIApplication sharedApplication]; __block UIBackgroundTaskIdentifier bgTask; bgTask = [app beginBackgroundTaskWithExpirationHandler:^{ dispatch_async(dispatch_get_main_queue(), ^{ if (bgTask != UIBackgroundTaskInvalid) { bgTask = UIBackgroundTaskInvalid; } }); }]; dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ dispatch_async(dispatch_get_main_queue(), ^{ if (bgTask != UIBackgroundTaskInvalid) { bgTask = UIBackgroundTaskInvalid; } }); });}@end这里设置完成之后 nstimer 就能后台运行了
0 0
- iOS开发 NSTimer 后台运行
- iOS 后台运行NSTimer
- iOS后台运行NSTimer
- Scheduled NSTimer后台运行
- iOS程序进入后台后仍运行定时器NSTimer
- iOS程序进入后台后仍运行定时器NSTimer
- iOS程序进入后台后仍运行定时器NSTimer
- iOS程序进入后台后仍运行定时器NSTimer
- iOS程序进入后台后仍运行定时器NSTimer
- iOS程序进入后台后仍运行定时器NSTimer
- iOS程序进入后台后仍运行定时器NSTimer
- iOS程序进入后台后仍运行定时器NSTimer
- iOS程序进入后台后仍运行定时器NSTimer
- iOS程序进入后台后仍运行定时器NSTimer
- iOS程序进入后台后仍运行定时器NSTimer
- 程序进入后台运行NSTimer
- [IOS 开发] 无限后台运行
- iOS开发-NSTimer
- matlab 统计向量中不同元素的个数
- PaaS Sandbox 实现原理分析
- Javascript中转义字符的过滤
- Aidl学习
- 排序学习记录
- iOS开发 NSTimer 后台运行
- 3D游戏引擎学习三(游戏引擎核心类Game)
- Oracle plsql 基础篇1 数据类型以及流程控制
- 说说近些年研究的CMS程序
- UITableViewController表视图建立过程中自定义单元格的创建,通过URL地址下载图片
- 用JS代码解决一个聊天系统聊天消息是否刷屏
- java压缩与解压缩文件(利用apache的ant.jar)
- "What Child is This?" - The answer is in this favorite Christmas song
- 下载器草稿pdf