我正在iOS上开发一款需要互联网连接的游戏。我遇到的问题是在播放器停止播放时在服务器(parse.com)上设置Bool。现在我在做这个...游戏中的玩家停止游戏
-(void)applicationDidEnterBackground:(UIApplication *)application
{
NSLog(@"Player logged out");
[self playerLoggedOut];
}
和
-(void)playerLoggedOut
{
PFUser *currentUser = [PFUser currentUser];
if (currentUser) {
[currentUser setObject:[NSNumber numberWithBool:NO] forKey:@"playing"];
[currentUser saveEventually];
[sharedInstance requestSentWithDesc:@"Player logged out"];
}
}
但是,这似乎并没有工作,也有游戏崩溃的情况,当我相信上面会永远不会打电话。
还有......
-(void)applicationWillTerminate:(UIApplication *)application
但我不知道什么时候就这么叫。
有使用计时器的可能性,但如果玩家永远不会重新登录或不长时间,我不知道如何使用计时器。
我试图尽量避免使用云代码,因为这会给所有事情增加另一层复杂性。我没有得到的是我正在使用TestFlight,并且某种程度上SDK总是知道游戏崩溃或结束的时间,所以在应用程序中必须有一种方法,或者是使用您提到的后台任务的TestFlight? – Phil
它将使用后台任务和我处理的异常处理程序的组合。 – Wain