美文网首页
iOS APP在后台执行任务

iOS APP在后台执行任务

作者: 小布丁_be3e | 来源:发表于2019-01-10 11:13 被阅读0次

        正常APP在切换到后台后不能继续执行代码,有时我们有任务需要继续执行,目前了解到可以使用以下方法:

使用后台任务方法beginBackgroundTaskWithExpirationHandler;

1.AppDelegate.h中申明变量 @property (nonatomic) UIBackgroundTaskIdentifier backgroundTask;

2.在APP进入后台方法中开启后台任务 - (void)applicationDidEnterBackground:(UIApplication *)application {

         [self begingBackgroundTask];

         //执行自己需要执行的任务

         [self somethingNeedToDo];

}

-(void)somethingNeedToDo{

       //添加自己需要执行的操作

         操作结束后调用方法:(可以在异步操作结束后回主线程调用)

         [self endBackgroundTask];

}

-(void)begingBackgroundTask{

    self.backgroundTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{

        [self endBackgroundTask];

    }];

}

-(void)endBackgroundTask{

    [[UIApplication sharedApplication] endBackgroundTask:self.backgroundTask];

    self.backgroundTask = UIBackgroundTaskInvalid;

}

相关文章

网友评论

      本文标题:iOS APP在后台执行任务

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