I'm starting to integrate Apple's Game Center into an app I'm developing using the Cocos2d-x framework. I've written a very simple wrapper to connect the mostly C++ codebase to the Objective C calls required to interface with Game Center. I display the initial Game Center dialog with the following code:
[[[UIApplication sharedApplication] keyWindow].rootViewController presentViewController:viewController animated:YES completion:nil];
The dialog displays and I'm asked to choose a username. If I pick a username that's already taken, I get the following screenshot:
That's all well and good, but I've found that once I dismiss this popup, I can no longer do anything on this dialog page. I'm able to edit the text in the nickname box, but the Cancel and Next buttons no longer do anything, and I don't receive further notifications about whether or not my username is valid.
I feel it's likely due to some kind of view controller issue where messages are being sent to the wrong place after the popup appears, but since I'm a complete beginner at Objective C programming I have no idea what could be the cause.
So the answer seems to be to somehow trigger Game Center to forget my login information. I also turned on Logging under Settings/Game Center.
I had changed my Apple Login password on the same day this issue started happening, so I think it might be related to the particular device I was using not having synced information for my device sign in and the Game Center information.
One interesting change is that now when I insert an unavailable nickname, I get a list of suggestions that didn't appear before. All buttons now appear to be functional, so I'm in business!