我正在尝试使用Game Center验证GKLocalPlayer。但是,Apple提供的代码
- (void) authenticateLocalPlayer
{
[[GKLocalPlayer localPlayer] authenticateWithCompletionHandler:^(NSError *error) {
if (error == nil)
{
// Insert code here to handle a successful authentication.
NSLog(@"Logged in.");
}
else
{
// Your application can process the error parameter to report the error to the player.
NSLog(@"%@", [error description]);
}
}];
}
对我来说似乎没有办法。我总是收到警告“无法连接到Game Center服务器”。选择“重试”或“取消”。这两个NSLog语句都没有执行,所以我猜想甚至没有触发completionHandler。
如果我按重试,我会收到以下错误:
Error Domain=GKErrorDomain Code=7 "The requested operation could not be completed because local player is already authenticating." UserInfo=0x8915f80 {NSLocalizedDescription=The requested operation could not be completed because local player is already authenticating.}
任何人都知道出了什么问题?
答案 0 :(得分:7)
我发现连接到Game Center时遇到的一个问题是您的日期可能在设备上出错了。检查您的日期是否是实际当前日期。不知何故,Game Center不允许来自日期不正确的设备的连接。
答案 1 :(得分:1)
您可以尝试将模拟器完全重置为默认值。 它对我有用,一旦重置,我的iDevice再次工作。
依赖于您无法登录的ios版本,然后将模拟器设置为前景并转到左上角。 iOS模拟器 - >重置内容和设置 - >单击“重置”按钮。
我希望这会有所帮助。
答案 2 :(得分:0)
这里完全相同的问题。昨天早上,我为我工作了大约五分之一。今天我甚至无法登录Game Center沙箱(使用您发布的相同代码)。
编辑:我将部署目标更改为3.0“项目 - 编辑活动目标 - iOS部署目标”
然后我能够为我的活动可执行文件选择4.1模拟器,我可以登录,一切正常。 4.2我猜的沙箱有点......