美文网首页selector
定时器后台运行

定时器后台运行

作者: 温水煮青蛙a | 来源:发表于2018-12-05 12:52 被阅读0次

定时器的代码正常写 在app后台运行的时候 定时器的方法就会正常呗调用

#import <AVFoundation/AVFoundation.h>
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
/*定时器后台运行*/
    NSError *setCategoryErr = nil;
    NSError *activationErr = nil;
    /*设置Audio Session的Category 一般会在激活之前设置好Category和mode。但是也可以在已激活的audio session中设置,不过会在发生route change之后才会发生改变*/
    [[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: &setCategoryErr];
    /*激活Audio Session*/
    [[AVAudioSession sharedInstance] setActive:YES error: &activationErr];
}
- (void)applicationDidEnterBackground:(UIApplication *)application {
    // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
    // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
    NSLog(@"后台状态 → 挂起状态");
    
    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;
            }
        });
    });
}

相关文章

  • iOS定时器后台运行

    //定时器后台运行代码↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓...

  • iOS 短信验证码倒计时按钮

    级别: ★★☆☆☆标签:「iOS 验证码后台倒计时」「NSTimer后台运行」「iOS 定时器后台运行」作者: ...

  • app后台运行

    iOS程序进入后台后仍运行定时器NSTimer

  • 定时器后台运行

    定时器的代码正常写 在app后台运行的时候 定时器的方法就会正常呗调用

  • 定时器后台运行

    ios中如何让程序的定时器在程序进入后台的时候依然继续有效?只需添加以下代码到中applicationDidEnt...

  • 定时器后台运行

    打钩

  • iOS 伪定时器后台运行

    由于产品需求,需要做一个定时器后台运行的功能,但是搜索了一下,大多数做法都是通过音频播放类这种方式去实现,但是这...

  • iOS GCD创建标准定时器,进入后台后任务可继续执行定时

    前言 要开启标准定时器,多线程是必须的。进入后台后定时器任务会继续进行,无需开启后台任务。主要用于与定时器相关的功...

  • iOS 保证定时器进入后台依然运行

    一. 问题背景 最近项目中有个定时器计时实时更新等车的时长,因为项目里面进入后台是有执行一些任务的操作,因此如果进...

  • 后台运行

    app可以在后台保留10分钟,但线程停止。 例如做手机验证码倒计时,退到后台后倒计时停止一直到进入前台才再次倒计,...

网友评论

    本文标题:定时器后台运行

    本文链接:https://www.haomeiwen.com/subject/ojbicqtx.html