我有一款iPhone游戏,我刚刚添加了GameCenter支持,而且一切似乎都正常。但是,作为不使用GameCenter的人,我添加了一个选项,以便用户可以将其关闭。唯一的问题是,一旦GKLocalPlayer登录到GameCenter,我就看不到签署它们的方法 - 这意味着如果用户已登录,然后禁用GameCenter支持,我的应用程序将不会使用它,但是每当我的应用程序回到前台时,GK库仍然会返回用户,直到应用程序终止。我不希望这发生!
有没有办法让本地玩家退出GameCenter,或者至少阻止GK框架在每次你的应用程序变为活动状态时重新登录?
答案 0 :(得分:1)
无法从应用内注销游戏中心。最好的解决方案是添加一个布尔标志,指示用户的登录状态:
BOOL gameCenterOn = [[NSUserDefaults standardUserDefaults] boolForKey:@"gameCenterOn"];
默认为YES,如果用户选择退出应用中的游戏中心,则将其设置为NO。
在处理任何游戏中心请求之前,您还必须检查该标志的值。 (包括应用代理中的[GKLocalPlayer localPlayer] authenticateWithCompletionHandler:
次调用。)