【发布时间】:2014-12-22 20:45:05
【问题描述】:
我开发了一个应用程序,用于读取加速器数据,将它们存储在本地,并以特定的时间间隔频繁地将它们发送到服务器。该应用程序必须在后台运行,但一段时间后(有时 3 分钟)它会停止发送,就像它已关闭一样。
是否有可能让应用程序一直处于活动状态、运行并将数据发送到后台服务器?怎么样?
该应用程序应该可以持续工作数周。
谢谢大家。
【问题讨论】:
标签: ios iphone background-process
我开发了一个应用程序,用于读取加速器数据,将它们存储在本地,并以特定的时间间隔频繁地将它们发送到服务器。该应用程序必须在后台运行,但一段时间后(有时 3 分钟)它会停止发送,就像它已关闭一样。
是否有可能让应用程序一直处于活动状态、运行并将数据发送到后台服务器?怎么样?
该应用程序应该可以持续工作数周。
谢谢大家。
【问题讨论】:
标签: ios iphone background-process
iOS will allow you 3 minutes of execution in background.
如果你想继续运行,有各种“变通方法”,但不是一个稳定的解决方案。你可以启动后台任务,然后管理它们
-(void)applicationDidEnterBackground:(UIApplication *)application
{
UIApplication *app = [UIApplication sharedApplication];
UIBackgroundTaskIdentifier bgTask = 0;
backgroundTimer = [NSTimer scheduledTimerWithTimeInterval:10 target:self selector:@selector(backgroundTask) userInfo:nil repeats:YES];
bgTask = [app beginBackgroundTaskWithExpirationHandler:^{
[app endBackgroundTask:bgTask];
}];
}
【讨论】: