验证播放器ios应用程序

时间:2014-06-23 07:01:26

标签: ios objective-c xcode game-center

我正在尝试将游戏中心集成到我的应用中,但是我一直在收到错误。我将以下代码输入到app delegate.m中,这就是我得到的:

- (void)authenticateLocalPlayer {
GKLocalPlayer *localPlayer = [GKLocalPlayer localPlayer];

localPlayer.authenticateHandler = ^(UIViewController *viewController, NSError *error){
    if (viewController != nil) {
        [self presentViewController:viewController animated:YES completion:nil];
    }
    else{
        if ([GKLocalPlayer localPlayer].authenticated) {
            _gameCenterManager = YES;

            // Get the default leaderboard identifier.
            [[GKLocalPlayer localPlayer] loadDefaultLeaderboardIdentifierWithCompletionHandler:^(NSString *leaderboardIdentifier, NSError *error) {

                if (error != nil) {
                    NSLog(@"%@", [error localizedDescription]);
                }
                else{
                    leaderboardIdentifier = leaderboardIdentifier;
                }
            }];
        }

        else{
            _gameCenterManager = NO;
        }
    }
};

}

我使用这段代码,但是这部分代码出错:

[self presentViewController:viewController animated:YES completion:nil];

Xcode告诉我找不到这个实例方法。根据我的理解,这是UIView的实例方法?反正我是否可以在app委托类中使用此方法?

2 个答案:

答案 0 :(得分:1)

除了@ Raptor的答案外,请尝试以下操作。

[self.window.rootViewController presentViewController:viewController animated:YES completion:nil];

答案 1 :(得分:-1)

您不应使用[self presentViewController:viewController animated:YES completion:nil];在App Delegate中显示视图控制器,因为App Delegate不响应presentViewController:animated:

您可以使用:

self.window.rootViewController = viewController;
[self.window makeKeyAndVisible];