Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/98.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 即使backgroundTimeRemaining为零,代码仍在后台运行?_Ios_Iphone_Xcode5 - Fatal编程技术网

Ios 即使backgroundTimeRemaining为零,代码仍在后台运行?

Ios 即使backgroundTimeRemaining为零,代码仍在后台运行?,ios,iphone,xcode5,Ios,Iphone,Xcode5,即使BackgroundTimeResisting为0(零),上述代码(计时器)仍在运行。 这怎么可能?上述类型的进近是否有10分钟的最大值 上述代码是否被视为“app store”可以安全提交?您正在创建一个只计划重复的计时器。beginBackgroundTaskWithExpirationHandler将在时间结束时调用,这是您停止任何未及时完成的操作的机会 您应该在beginBackgroundTaskWithExpirationHandler中使计时器无效。我在iOS 8中也看到了这一

即使BackgroundTimeResisting为0(零),上述代码(计时器)仍在运行。 这怎么可能?上述类型的进近是否有10分钟的最大值


上述代码是否被视为“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];