草庐IT

backgroundTimeRemaining

全部标签

ios - 为什么当应用程序状态为后台时,UIApplication 的 backgroundTimeRemaining 值是 DBL_MAX?

我正在查看由以下代码片段生成的日志消息。Flog是用于调用内部日志记录类的#define。代码来self项目中包含的Pod中的源文件。我不知道这是否重要。我对这条消息感到困惑,因为在执行日志语句之前将应用程序状态与UIApplicationStateBackground进行了比较。我在这里错过了什么?[04/05/1618:31:21]Backgroundtimeremaining(indidVisitmethod):1797693134862315708145274237317043567980705675258449965989174768031572607800285387605

iphone - 什么事件会重置 backgroundTimeRemaining?

在已注册为使用位置服务在后台运行的应用程序的上下文中,哪些事件将导致backgroundTimeRemaining被重置为其最大值,并且该重置是否会延长允许完成的持续时间正在进行的任务? 最佳答案 根据我在模拟器和硬件上运行的实验,以及我在问题中定义的上下文,只要从位置库对didUpdateLocations(或IOS这就是所有用于以某种方式在后台杠杆中持续运行的方法。 关于iphone-什么事件会重置backgroundTimeRemaining?,我们在StackOverflow上找

ios - backgroundTimeRemaining 在 iOS 7 上少于 10 秒

我定期获得大约9秒的剩余后台时间。我相信它应该接近180秒。然而,这不是我所看到的。-(void)applicationDidEnterBackground:(UIApplication*)application{UIApplication*app=[UIApplicationsharedApplication];doublesecondsToStayOpen=app.backgroundTimeRemaining;NSLog(@"secondsToStayOpen%f",secondsToStayOpen);}打印secondsToStayOpen179.920931secondsT

ios - backgroundTimeRemaining 的这个大数字是多少

这个问题在这里已经有了答案:backgroundTimeRemainingreturns(35791394mins)?(2个答案)关闭9年前。我刚刚进入iOS编程,并且正在为很多事情而苦苦挣扎。我正在尝试实现一小段代码来获取当前位置并将其发送到后台服务器。当我调用beginBackgroundTaskWithExpirationHandler时,我发现backgroundTimeRemaining属性返回了这么大的数字。查看代码下方的日志。if(self.backgroundTask==UIBackgroundTaskInvalid){NSLog(@"*****startBackgro

ios - 为什么即使应用程序状态为 UIApplicationStateBackground,backgroundTimeRemaining 也会给出 DBL_MAX?

我正在登录(写入文件)backgroundTimeRemaining每次我的应用程序从挂起模式唤醒时的值,就在我使用过期处理程序开始UIApplication的后台任务之前,就像这样(在我发出网络请求的方法中):if([[UIApplicationsharedApplication]applicationState]==UIApplicationStateBackground){[LoggerlogIntoFileNamed:@"log"withContent:[NSStringstringWithFormat:@"state%ld,backgroundtimeremaining%.2

ios - applicationDidEnterBackground 方法中的 backgroundTimeRemaining 值不正确

我正在iOS8设备上运行的Xcode6beta2上开发一个ObjectiveC项目。我在方法中打印backgroundTimeRemaining:applicationDidEnterBackground。-(void)applicationDidEnterBackground:(UIApplication*)application{NSLog:(@"Backgroundtimeremaining%fseconds",application.backgroundTimeRemaining);NSLog:(@"Backgroundtimeremaining%fseconds",appli

ios - 如何将 NSTimeInterval 转换为秒数(对于 backgroundTimeRemaining)

我正在运行测试以测量剩余的后台任务时间。我读过几个例子,看到每个人都这样做:UIApplication*app=[UIApplicationsharedApplication];double*bgTime=app.backgroundTimeRemaining;NSLog(@"BackgroundTimeRemaining:%f",bgTime);但是我得到了很长的值,比如1797693134862315708145274237317043567980705675258449965989...我知道[[UIApplicationsharedApplication]backgroundT

ios - 强制提前调用 iOS 设备上的后台任务到期处理程序以进行测试

我正在测试和调试-beginBackgroundTaskWithExpirationHandler:中的过期block。有没有办法强制调用Block以使其更快发生,而不是每次我需要调试时都等待大约10分钟?我对调试block中的实际代码不感兴趣,而是对调用顺序和回溯等感兴趣;这就是为什么我需要回调本身发生,但每次10分钟太长了! 最佳答案 模拟后台任务时间到期:StartyourbackgroundtaskoncontrollerviewDidLoadandScheduleaTimerthatprintsoutthebackgrou

ios - 通常应用程序在后台完成多长时间 (backgroundTimeRemaining)

我需要在应用程序处于后台时获取用户位置更新。我使用了“重大更改功能”,但重大更改的问题并不准确。因此,为了“一点点”提高“重大变化”的准确性,我正在考虑用UIApplication:beginBackgroundTaskWithExpirationHandler:对此进行补充。因此,我的问题是应用程序通常在后台运行多长时间(backgroundTimeRemaining中的值)。 最佳答案 目前(从iOS5开始),应用程序可以在后台完成任务的最长时间为10分钟。这可能会在未来的iOS版本中改变。当您的应用程序进入后台时,您可以通过记

ios - backgroundTimeRemaining 返回(35791394 分钟)?

我在我的应用程序中使用beginBackgroundTaskWithExpirationHandler。我的理解是后台应用程序完成工作的最长时间是10分钟,但是当我打印backgroundTimeRemaining的值时得到的是(35791394分钟)NSTimeIntervaltimeLeft=[UIApplicationsharedApplication].backgroundTimeRemaining;NSLog(@"Backgroundtimeremaining2222:%.0fseconds(%dmins)",timeLeft,(int)timeLeft/60);这是正常的,
12