インターネット接続が必要な 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
しかし、それがいつ呼ばれたのかわかりません。
タイマーを使用する可能性はありますが、プレイヤーが二度とログインしない場合、または長期間ログインしない場合、タイマーをどのように使用できるかわかりません。