您的位置:首页 > 移动开发 > IOS开发

ios后台申请运行一定的时间

2013-05-06 09:52 281 查看
在 应用的appdelegate里面的- (void)applicationDidEnterBackground:(UIApplication *)application代理方法中加上:

UIApplication *app = [UIApplication sharedApplication];

__block UIBackgroundTaskIdentifier taskId;

taskId = [app beginBackgroundTaskWithExpirationHandler:^{

NSLog(@"后台任务超时被退出");

[app endBackgroundTask:taskId];

}];

if(taskId == UIBackgroundTaskInvalid)

{

return;

}

//队列中等待(类似于等待线程,个人理解)

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^

{

NSLog(@"后台任务据最长时限还有 %f 秒",app.backgroundTimeRemaining);

[NSThread sleepForTimeInterval:32]; //等待32秒

NSLog(@"后台任务据最长时限还有 %f 秒",app.backgroundTimeRemaining);

[app endBackgroundTask:taskId];//通知系统后台任务已处理完毕

});

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: