Ios 即使backgroundTimeRemaining为零,代码仍在后台运行?
即使BackgroundTimeResisting为0(零),上述代码(计时器)仍在运行。 这怎么可能?上述类型的进近是否有10分钟的最大值Ios 即使backgroundTimeRemaining为零,代码仍在后台运行?,ios,iphone,xcode5,Ios,Iphone,Xcode5,即使BackgroundTimeResisting为0(零),上述代码(计时器)仍在运行。 这怎么可能?上述类型的进近是否有10分钟的最大值 上述代码是否被视为“app store”可以安全提交?您正在创建一个只计划重复的计时器。beginBackgroundTaskWithExpirationHandler将在时间结束时调用,这是您停止任何未及时完成的操作的机会 您应该在beginBackgroundTaskWithExpirationHandler中使计时器无效。我在iOS 8中也看到了这一
上述代码是否被视为“app store”可以安全提交?您正在创建一个只计划重复的计时器。beginBackgroundTaskWithExpirationHandler将在时间结束时调用,这是您停止任何未及时完成的操作的机会
您应该在beginBackgroundTaskWithExpirationHandler中使计时器无效。我在iOS 8中也看到了这一点。“backgroundTimeRemaining”从180倒计时到0,但是后台线程一直在运行。你得到任何答案了吗?你在后台还做了其他事情,比如使用定位服务吗?你检查了expirationhandler是否被调用了吗?我打开了定位服务,它也做了同样的事情。我不知道为什么??
UIApplication *application = [UIApplication sharedApplication];
UIBackgroundTaskIdentifier background_task = 0;
background_task = [application beginBackgroundTaskWithExpirationHandler: ^{
[application endBackgroundTask:background_task];
}];
SEL selector = NSSelectorFromString(action);
timer = [NSTimer scheduledTimerWithTimeInterval:floatUpdateInterval target:self selector:selector userInfo:nil repeats:YES];