2

iOS6 で Game Center ゲームを作成していますが、継続的に問題が発生しています。現在のものには困惑しています - 私のゲームがローカルプレイヤーを認証しようとするたびに失敗します。「ゲームセンターを無効にする」機能をトリガーするたびに、私は夢中になります.

- (void) disableGameCenter
{
    // Write something to disable gamecenter.
    // gameCenterAvailable = FALSE;
}

-(void)showAuthenticationDialogWhenReasonable:(UIViewController *)viewController
{
    // Pause Tasks Here
//    [[[(AppDelegate *)[[UIApplication sharedApplication] delegate] window] rootViewController] presentViewController:viewController animated:YES completion:nil];
}

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

    weakLocalPlayer.authenticateHandler = ^(UIViewController *viewController, NSError *error)
    {
        if (viewController != nil)
        {
            [self showAuthenticationDialogWhenReasonable: viewController];
        }
        else if (weakLocalPlayer.isAuthenticated)
        {
            self.localPlayer = weakLocalPlayer;
        }
        else
        {
            [self disableGameCenter];
        }
    };
}
4

1 に答える 1

0

私が間違っていたらすみませんが、認証メソッドを実行しているとは思いません。

代わりに次の方法を試してください。

- (void) authenticateLocalPlayer
{
    GKLocalPlayer *localPlayer = [GKLocalPlayer localPlayer];
    [localPlayer authenticateWithCompletionHandler:^(NSError *error) {
        if (localPlayer.isAuthenticated)
        {
            NSLog(@"Authenticated");
        }
        else
        {
            NSLog(@"Not Authenticated");
        }
    }];
}
于 2013-04-21T00:13:24.900 に答える