iOS:后台运行

当我们有需求,需要应用在后台长久的运行一段时间,此时,就需要用到方法
代码仅作记录和分享,详情参考唐巧的相关书籍。

在AppDelegate.h

@property (assign, nonatomic) UIBackgroundTaskIdentifier backgroundUpdateTask;

在AppDelegate.m

- (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.
    [self beginBackgroundUpdateTask];
    //在这里加上需要长久运行的代码
    [self endBackgroudUpdateTask];
    
}

- (void)beginBackgroundUpdateTask{
    self.backgroundUpdateTask = [[UIApplication sharedApplication]  beginBackgroundTaskWithExpirationHandler:^{
        [self endBackgroudUpdateTask];
    }];
}

- (void)endBackgroudUpdateTask{
    [[UIApplication sharedApplication] endBackgroundTask:self.backgroundUpdateTask];
    self.backgroundUpdateTask = UIBackgroundTaskInvalid;
}

这样,可以保证应用在后台运行长达10min的时间

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 对于APP的前后台运行情况的了解,有助于我们在实际开发中规避一些问题,以及采取稳妥的方法处理和解决问题,是很...
    進无尽阅读 8,600评论 7 12
  • 转载出处: http://www.jianshu.com/p/d3e279de2e32 iOS 后台运行的规则 应...
    Ethan_Struggle阅读 8,219评论 2 13
  • iOS 后台运行的规则 应用的运行状态分为以下五种: Not running:应用还没有启动,或者应用正在运行但是...
    tzhtodd阅读 5,474评论 1 5
  • iOS 后台运行的规则 应用的运行状态分为以下五种:Not running:应用还没有启动,或者应用正在运行但是途...
    zhenby阅读 26,897评论 29 85
  • iOS 4开始引入的multitask,我们可以实现像ipod程序那样在后台播放音频了。如果音频操作是用苹果官方的...
    _烈日阅读 12,440评论 0 1