我开发了一个应用程序,用于读取加速器数据,将它们存储在本地,并以特定的时间间隔频繁地将它们发送到服务器。该应用程序必须在后台运行,但一段时间后(有时 3 分钟)它会停止发送,就像它已关闭一样。
是否可以让应用程序始终保持事件状态、运行并将数据发送到后台服务器?怎么样?
该应用程序应该可以持续工作数周。
谢谢大家。
Best Answer-推荐答案 strong>
iOS will allow you 3 minutes of execution in background.
https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html
如果你想继续运行,有各种“变通方法”,但不是一个稳定的解决方案。你可以启动后台任务,然后管理它们
-(void)applicationDidEnterBackgroundUIApplication *)application
{
UIApplication *app = [UIApplication sharedApplication];
UIBackgroundTaskIdentifier bgTask = 0;
backgroundTimer = [NSTimer scheduledTimerWithTimeInterval:10 target:self selectorselector(backgroundTask) userInfo:nil repeats:YES];
bgTask = [app beginBackgroundTaskWithExpirationHandler:^{
[app endBackgroundTask:bgTask];
}];
}
关于ios - 继续在后台运行 iOS 应用程序,从加速器收集数据并将其发送到服务器,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/27610170/
|