【发布时间】:2011-09-01 03:07:12
【问题描述】:
到目前为止,我已经成功地为我的应用实施了 Game Center。授权玩家可以,报告成就也可以。
我的问题是当我想在飞行模式下使用 iPad 测试应用行为时。
播放器将无法使用此代码获得授权(正如我所料,所以没问题)。
GKLocalPlayer *localPlayer = [GKLocalPlayer localPlayer];
if ([localPlayer isAuthenticated] == YES){
NSLog(@"The local player has already authenticated.");
return;
} else {
[localPlayer authenticateWithCompletionHandler:^(NSError *error) {
if (error == nil){
NSLog(@"Successfully authenticated the local player.");
NSLog(@"Player Alias = %@", [localPlayer alias]);
} else {
NSLog(@"Failed to authenticate the player with error = %@", error);
}
}];
}
但是当我稍后在 UIView 中检查玩家是否被授权时(所以我知道我是否应该启用我的显示成就按钮)使用此代码[achievementButton setEnabled:[localPlayer isAuthenticated]];只要用户登录到我总是得到一个 YES进入飞行模式前的游戏中心。
似乎即使没有连接到 Game Center 服务器,以前的授权玩家仍然被视为已授权。
这导致显示我的按钮,但 Game Center 报告它无法连接。
那么,检查与 Game Center 的真实连接是否可用的最佳方法是什么?
干杯
【问题讨论】:
标签: ios game-center