我正在开发我的应用程序的新版本。我正常使用沙盒有一段时间了,但现在我所有的设备都遇到了一个非常奇怪的问题。他们似乎已半登录到游戏中心。这对他们不起作用,但他们也无法注销。这是我的身份验证方法:
- (void)authenticateLocalPlayer {
GKLocalPlayer* localPlayer = WJLocalPlayer;
WJLog(@"Authenticating local user...");
if (localPlayer.authenticated == NO) {
localPlayer.authenticateHandler = ^ (UIViewController* vc, NSError *error) {
if (error) {
WJLog(@"Authentication failed! %@", [error localizedDescription]);
}
else {
WJLog(@"Authentication succeeded!");
NSString* name = [GKLocalPlayer localPlayer].displayName;
WJLog(@"display name is %@", name);
NSString* alias = [GKLocalPlayer localPlayer].alias;
WJLog(@"alias is %@", alias);
GKTurnBasedEventHandler *ev = [GKTurnBasedEventHandler sharedTurnBasedEventHandler];
ev.delegate = self;
}
};
}
}
这是我从日志语句中看到的 [WJLog 只是我自己的 NSLog 版本,没有垃圾]:
Authenticating local user...
Authentication succeeded!
display name is Me
alias is (null)
我可以在游戏中心应用程序中登录或退出。没什么区别。我总是看到上面的。我什至尝试将其中一台设备恢复为出厂设置。结果还是一样。我还尝试为我的应用程序的新版本禁用和重新启用游戏中心。结果还是一样。
有任何想法吗?