iOS8:永远在后台运行:GameCenter

时间:2014-12-08 16:04:30

标签: ios game-center

我知道这似乎是一个重复的主题,但它不是(希望不是)

我们有一个应用程序在后台使用GameCenter进行后端通信,直到ios8,GameCenter在后台运行良好。

现在我需要找到一个解决方案,关键是应用程序需要在后台持续运行,它使用GameCenter聊天服务器等,所以我们启用了音频。我看不到我们能够使用VOIP作为选项(Apple可能会拒绝它)

我试过

   [self performSelectorOnMainThread:@selector(keepAlive) withObject:nil waitUntilDone:YES];
        [application setKeepAliveTimeout:600 handler: ^{
           [self performSelectorOnMainThread:@selector(keepAlive) withObject:nil waitUntilDone:YES];
             //[[GCHelper sharedInstance] applicationWentBackground];
        }];

    - (void)keepAlive {

        self.bgTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{
            NSLog(@"Background handler called. Not running background tasks anymore.");
    //        [[UIApplication sharedApplication] endBackgroundTask:self.bgTask];
    //        self.bgTask = UIBackgroundTaskInvalid;

            [self keepAlive];
        }];
    }

这让它保持了一点,我想主要的问题是,它现在是否可能?

我也遵循了这个指南

http://blog.dkaminsky.info/2013/01/27/keep-your-ios-app-running-in-background-forever/

1 个答案:

答案 0 :(得分:1)

只要应用程序本身位于前台,您就可以每隔xx秒触发一次处理后台任务的通知。

当完整的应用程序进入后台时,您只有有限的时间来关闭操作。