Ios 游戏中的玩家停止了游戏

Ios 游戏中的玩家停止了游戏,ios,parse-platform,Ios,Parse Platform,我正在用iOS做一个游戏,它需要互联网连接。我遇到的问题是,当播放器停止播放时,在服务器(parse.com)上设置Bool。现在我正在做这个 -(void)applicationDidEnterBackground:(UIApplication *)application { NSLog(@"Player logged out"); [self playerLoggedOut]; } 及 但这似乎不起作用,还有游戏崩溃的情况,我相信上面的内容永远不会被调用 还有 -(void

我正在用iOS做一个游戏,它需要互联网连接。我遇到的问题是,当播放器停止播放时,在服务器(parse.com)上设置Bool。现在我正在做这个

-(void)applicationDidEnterBackground:(UIApplication *)application
{
    NSLog(@"Player logged out");
    [self playerLoggedOut];
}

但这似乎不起作用,还有游戏崩溃的情况,我相信上面的内容永远不会被调用

还有

-(void)applicationWillTerminate:(UIApplication *)application
但我不确定什么时候打电话


有可能使用计时器,但如果播放器从未重新登录,或长时间未登录,我不确定如何使用计时器。

对于当前处理,您需要启动一个后台任务(请参阅),该任务在发出请求之前开始,在完成块中结束(因此请更改您使用的保存方法)


对于其他情况,这将不起作用,您可能需要添加某种“保持活动”消息和/或分析云代码,以监控用户交互,并在用户在设定的时间内处于非活动状态时自动将其注销。

如果您的游戏正在崩溃,您必须获取任何日志,例如:
或者别的什么。您可以添加
NSLog(@“工作到最后!”)-(void)playerLoggedOut
requestSentWithDesc
方法的末尾执行code>。

应用程序将在应用程序崩溃时终止
。它基本上从未被调用过,因为应用程序会进入后台。我使用TestFlight来记录崩溃。如果可能的话,我会尽量避免使用云代码,因为这会给一切增加另一层复杂性。我不明白的是,我使用的是TestFlight,不知怎的,SDK总是知道游戏何时崩溃或结束,所以在应用程序中一定有办法做到这一点,或者TestFlight使用的是你提到的后台任务?我想它将使用后台任务和我处理的异常处理程序的组合。
-(void)applicationWillTerminate:(UIApplication *)application