Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

iOS - detecting if Game Center is disabled

I'm developing a unity iphone game.

short version: game center can be disabled when the user declines to authenticate 3 times. Can this disabled state be detected?

Long version: In case some of you hadn't had the horror of finding this out yet, if you cancel a game-center authentication attempt 3 times, game center stops prompting you to log in. after that, no game-center functionality will work, nor will you be notified when attempting to use it. you just get nothing. your buttons will go dead.

there is, however, one non-descript error message that gets returned by GC. I figgured -- hey, I'm just going to stick a little alertview in there when the error message gets returned, notifying the user that game center is disabled.

well, that would be foolish, because it turns out that that particular error message gets displayed when you hit cancel on the actual authentication prompt as well... and even in other situations I believe. so as of now, I have a choice between never telling the player when game-center is disabled, and hoping they figgure it out, or spamming them in an anoying, broken-looking way when they genuinely decline and here-and-there as well.

Is there a way to just programatically detect when game center has become disabled in this way? that sure would save everyone the goddamn heartache. I'm assuming that the answer is no, because not spaming users was the probably the thinking behind this in the firstplace. tell me I'm wrong, someone!

like image 448
hypnoslave Avatar asked Sep 05 '11 03:09

hypnoslave


2 Answers

I always check my game for 3 incorrect attempts. It so i know gamecenter is disabled and i give the user the option to switch to gamecenter and login when they click on a gamecenter button.

like image 114
Roel Avatar answered Oct 06 '22 00:10

Roel


As I know, there is no way. Game center is not completely disabled but you need to go to the Game center application and login from there to use it again. So you can suggest your users to do it (login from the game center app) if any attempt to use game center fails. It is not the best solution since you don't know the exact reason it failed, but by now I haven't found a better one.

like image 27
Luis Avatar answered Oct 05 '22 23:10

Luis