在iOS 8中永远在后台运行应用程序

时间:2014-10-02 01:06:16

标签: ios background

这个主题有几个主题,没有什么对我有用。我不必在应用程序商店中部署应用程序,因此我可以在应用程序中执行hacks以使其保持运行。任何方式我可以保持应用程序即使它背景?任何指针赞赏。

1 个答案:

答案 0 :(得分:4)

我发现这个github项目解决了这个问题:https://github.com/voyage11/Location 显然苹果不会批准这种黑客攻击,但我想这会对你的情况有所帮助。

基本上你要做的是:

  • 使用info.plist中的位置背景模式功能
  • 始终运行后台任务,但不要让它运行超过一分钟。每分钟创建一个新的后台任务并停止旧任务。
  • 除了之前的任务滚动,还要保持长时间运行的后台任务。我不确定这是否真的需要。
  • 每分钟启动一次位置管理器并请求AlwaysAuthorization。

引用代码中的一些重要摘录:

后台任务:

bgTaskId = [application beginBackgroundTaskWithExpirationHandler:^{
    [self.service debugLog:[NSString stringWithFormat:@"BG....background task %lu expired", (unsigned long)bgTaskId]];
}];

启动位置管理员:

if(IS_OS_8_OR_LATER) {
    [_locationManager requestAlwaysAuthorization];
}
[_locationManager startUpdatingLocation];