继续在后台运行iOS应用程序,从加速器收集数据并将其发送到服务器
我开发了一个应用程序,用于读取加速器数据,在本地存储它们,并以特定的间隔频繁地将它们发送到服务器。该应用程序必须在后台运行,但过了一段时间(有时3分钟),它会停止发送,就像关闭了一样 是否有可能让应用程序一直处于活动状态,运行并将数据发送到后台服务器?怎么做 该应用程序应该能持续工作数周 谢谢各位继续在后台运行iOS应用程序,从加速器收集数据并将其发送到服务器,ios,iphone,background-process,Ios,Iphone,Background Process,我开发了一个应用程序,用于读取加速器数据,在本地存储它们,并以特定的间隔频繁地将它们发送到服务器。该应用程序必须在后台运行,但过了一段时间(有时3分钟),它会停止发送,就像关闭了一样 是否有可能让应用程序一直处于活动状态,运行并将数据发送到后台服务器?怎么做 该应用程序应该能持续工作数周 谢谢各位 iOS will allow you 3 minutes of execution in background. 如果你想继续运行,有各种“变通办法”,但没有一个稳定的解决方案。你可以启动后台任
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];
}];
}
但有些应用程序(如Viber或Whatsapp)一直在运行。您可以使用apple推送通知服务唤醒应用程序并在后台工作。我尝试了上述解决方案(使用计时器),并添加了[locationManager startUpdatingLocation];[locationManager停止更新位置];在backgroundTask方法中,但在一段时间后(超过3分钟),它停止更新位置,并且应用程序基本上在后台停止。知道是怎么发生的吗?你需要更多的工作。您可以使用此链接中的一些帮助:如果您觉得有帮助,请接受:D