我正在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