We all agree that Game Center is ultra recommended in scoring games for the gaming experience and supra easy to use: God bless Apple for giving that to us. However, I've just spotted something VERY annoying with Game Center, let's imagine a common gaming situation:
1.User is not logged in GC.
2.User launch your game, a game center authentication view is presented.
3.User cancels the auth. and plays your game until he dies.
4.The leaderboard cannot be populated with scores since GC is disabled, so the developers did add a LOGIN button to the UI so the user can change his mind, and compare the incredible score he just has made with friends.
5.User CHANGE HIS MIND, tap the nicely done CONNECT button and.... Nothing can EVER happen, mouahhaahaah, you're JUST SCREWED and waiting on a unfinished app !
Why? Because if the player has canceled the authentication once, the authenticateHandler retains the completion block so the block will never be executed again and you will never have a login view again.
I mean: ???
And what's killing me is if the user quits and switch back to the app, tadaaam! He can login! Isn't it wonderful ? Who will think this is normal and your app is nicely developed?
Oh, I was forgetting something else, If by mistake the user had to cancel the authentication by 3 times, it will disable Game Center features for your game, even at launch time. Switching or killing the app will not help. Amazing!
In conclusion, either I missed something and I'm a moron or I'm right and I guess a few of you are disappointed too. I suggest to send a petition asking Apple to change the world, once more