我正在开发一个使用Game Center的游戏,但是我遇到了以下警告:
... 'authenticateWithCompletionHandler:'已经被弃用:自iOS 6.0起首次被弃用
我进行了搜索并发现有新的代码可以验证本地用户,所以我替换了旧代码:
旧代码:
- (void)authenticateLocalUser {
if (!gameCenterAvailable) return;
NSLog(@"Authenticating local user...");
if ([GKLocalPlayer localPlayer].authenticated == NO) {
[[GKLocalPlayer localPlayer] authenticateWithCompletionHandler:nil];
} else {
NSLog(@"Already authenticated!");
}
}
使用新的:
- (void)authenticateLocalUser {
if (!gameCenterAvailable) return;
NSLog(@"Authenticating local user...");
if ([GKLocalPlayer localPlayer].authenticated == NO) {
GKLocalPlayer *localPlayer = [GKLocalPlayer localPlayer];
[localPlayer setAuthenticateHandler:(^(UIViewController* viewcontroller, NSError *error) {
//[localPlayer authenticateWithCompletionHandler:^(NSError *error) { OLD CODE!
if(localPlayer.isAuthenticated) {
//do some stuff
}else {
// not logged in
}
})];
} else {
NSLog(@"Already authenticated!");
}
}
除了一个问题,一切都好。如果用户没有登录,就没有游戏中心登录表单。旧代码会在用户未登录时显示游戏中心登录表单。
我是否需要添加任何额外的代码或其他东西?
额外信息: - 横屏模式 - 部署目标:6.0