今天直奔主题;
就两种,一种持久的,一种10分钟的;
先说持久的
这个不多说,照着官方的做就 OK,但是注意,音频,VoIP 那样的如果你的程序里没有,就别上传了反正也过不了,注意要用就和自己 APP 相关backgroundmodes的来选择;
=====================================
然后是10分钟的,说短不短说长不长,在applicationDidEnterBackground粘上下面这段就 OK 了,但是一定要注意,只要贴上了,10分钟内用户不打开你的 APP,APP 就会自动走 Terminate:
UIApplication* apc = [UIApplication sharedApplication];
__block UIBackgroundTaskIdentifier bgt;
bgt = [apc beginBackgroundTaskWithExpirationHandler:^{
dispatch_async(dispatch_get_main_queue(), ^{
if (bgt != UIBackgroundTaskInvalid) {
bgt = UIBackgroundTaskInvalid;
}
});
}];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
dispatch_async(dispatch_get_main_queue(), ^{
if (bgt != UIBackgroundTaskInvalid)
{
bgt = UIBackgroundTaskInvalid;
}
});
});