ios 5中的GKGameCenterViewController模拟?

ios 5中的GKGameCenterViewController模拟?,ios,game-center,Ios,Game Center,iOS 6提供了新的视图控制器来显示游戏中心信息:GKGameCenterViewController iOS 5.1是否提供了类似的功能(除了领导板和成就的单独控制器)?以下是我在应用程序中处理新旧GameCenter API的方法,它支持iOS 4和iOS 7之间的所有功能 我从GameCenterManager.m示例代码开始 1) 在GameCenterManager.m中,我更改了authenticateLocalUser - (void) authenticateLocalUser

iOS 6
提供了新的视图控制器来显示游戏中心信息:
GKGameCenterViewController


iOS 5.1是否提供了类似的功能(
除了领导板和成就的单独控制器)

以下是我在应用程序中处理新旧GameCenter API的方法,它支持iOS 4和iOS 7之间的所有功能

我从GameCenterManager.m示例代码开始

1) 在GameCenterManager.m中,我更改了authenticateLocalUser

- (void) authenticateLocalUser
{
    if([GKLocalPlayer localPlayer].authenticated == NO)
    {

        if ([[GKLocalPlayer localPlayer] respondsToSelector: @selector(setAuthenticateHandler:)]) {

             [[GKLocalPlayer localPlayer] setAuthenticateHandler:(^(UIViewController* viewcontroller, NSError *error) {

                 [self callDelegateOnMainThread: @selector(processGameCenterAuth:error:) withArg: viewcontroller error: error];

             })];
         } else {


            [[GKLocalPlayer localPlayer] authenticateWithCompletionHandler:^(NSError *error)
            {
                [self callDelegateOnMainThread: @selector(processOldGameCenterAuth:) error: error];
            }];
         }
    }
}
2) 然后在我的主视图控制器中,这里是两个版本的身份验证处理程序

- (void) processOldGameCenterAuth: (NSError*) error; {
    // for iOS < 6.0 without the viewcontroller parameter

    GKLocalPlayer *localPlayer = [GKLocalPlayer localPlayer];
    if (localPlayer.isAuthenticated) {
        usingGamecenter = TRUE;
        [self.gameCenterManager reloadHighScoresForCategory: kOverallLeaderboard];
    } else {
        usingGamecenter = FALSE;
    }
    // *** this is where you update your UI after game center login
}

- (void) processGameCenterAuth: (UIViewController*) gameCenterController error: (NSError*) error; {
    if (gameCenterController) {
        [self presentViewController:gameCenterController animated:YES completion:nil];
    } else {
        [self processOldGameCenterAuth: error];
    }
}
-(void)processOldGameCenterAuth:(NSError*)错误;{
//对于iOS<6.0且不带viewcontroller参数
GKLocalPlayer*localPlayer=[GKLocalPlayer-localPlayer];
if(localPlayer.isAuthenticated){
使用GameCenter=TRUE;
[self.gameCenterManager重新加载HighScores类别:KoverAlleaderBoard];
}否则{
usingGamecenter=FALSE;
}
//***这是您在登录游戏中心后更新UI的地方
}
-(void)processGameCenterAuth:(UIViewController*)gameCenterController错误:(NSError*)错误;{
if(gameCenterController){
[自我呈现视图控制器:gameCenterController动画:是完成:无];
}否则{
[自处理OldGameCenterAuth:错误];
}
}

不,没有。但是你可以自己做谢谢你。我只是需要有人来确认一下。那有可能吗?你能在这里显示代码吗?