我正在开发使用 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!");
}
}
一切都很好,除了一件事。如果用户未登录,则没有 Game Center 登录表单。使用旧代码,如果用户未登录,它会显示 Game Center 登录表单。
有没有我必须输入的额外代码或其他东西?
额外信息:-横向模式-部署目标:6.0