OStack程序员社区-中国程序员成长平台

标题: ios - 继续在后台运行 iOS 应用程序,从加速器收集数据并将其发送到服务器 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 04:09
标题: ios - 继续在后台运行 iOS 应用程序,从加速器收集数据并将其发送到服务器

我开发了一个应用程序,用于读取加速器数据,将它们存储在本地,并以特定的时间间隔频繁地将它们发送到服务器。该应用程序必须在后台运行,但一段时间后(有时 3 分钟)它会停止发送,就像它已关闭一样。

是否可以让应用程序始终保持事件状态、运行并将数据发送到后台服务器?怎么样?

该应用程序应该可以持续工作数周。

谢谢大家。



Best Answer-推荐答案


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/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4