ios后台执行任务(180s)

本文介绍如何在iOS应用中实现后台任务的管理,包括在appDelegate中声明后台任务标识符,并在程序进入后台及再次进入前台时正确处理后台任务。

1.在appDelegate.h中声明后台任务标识符


@property (nonatomic,unsafe_unretained)UIBackgroundTaskIdentifier backgroundTaskIdentifier;


2.在,程序进入后台的方法当中添加如下代码,并在程序再次进入后台时,取消后台任务


- (void)applicationDidEnterBackground:(UIApplication *)application {


    NSLog(@"程序进入后台了");

    UIApplication* app = [UIApplicationsharedApplication];

    self.backgroundTaskIdentifier = [appbeginBackgroundTaskWithExpirationHandler:^{

        [app endBackgroundTask:self.backgroundTaskIdentifier];

        self.backgroundTaskIdentifier =UIBackgroundTaskInvalid;


    }];

    //后台需要执行的任务   180s

    //[self doInBackgroundTask];

}


- (void)applicationWillEnterForeground:(UIApplication *)application {

    // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.

    [application endBackgroundTask:self.backgroundTaskIdentifier];

    self.backgroundTaskIdentifier =UIBackgroundTaskInvalid;

    

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值