-2

認証のために特定のView ControllerをロードするiOSアプリケーションがあります。ただし、何があってもView Controllerはロードされません。以下は、これを処理するメソッドのコードです (これは Game Center 認証ポップアップ用です)。

-(void)authenticateLocalUser {

GKLocalPlayer *localPlayer = [GKLocalPlayer localPlayer];
localPlayer.authenticateHandler = ^(UIViewController *viewController, NSError *error) {

    if (viewController != nil) {
        NSLog(@"AUTH VIEW CONTROLLER");
        [[[UIApplication sharedApplication] keyWindow].rootViewController presentViewController:viewController animated:YES completion:nil];
    }

    else if (localPlayer.isAuthenticated) {
        NSLog(@"User is authenticated");
    }

    else {
        NSLog(@"Game Center Auth error.");
    }
};
}

ご覧のとおり、私は公式の Apple 開発者ドキュメントに従っています。ただし、このメソッドの出力は常に次のようになります。

Game Center Auth Error (最後の NSLog)。

ビューコントローラーがロードされないのはなぜですか? ユーザーがまだ Game Center にログインしていない場合にログインできるように、ロードする必要があるためです。

時間をありがとう、ダン。

4

1 に答える 1

0

結局、問題は Game Center アプリ自体に関係していたことが判明しました。私はそれにログイン/ログアウトしただけで、すべてうまくいきました。また、Game Center を使用する他の iOS アプリでも同じ問題が再現されることを確認しました。

于 2014-06-03T15:43:49.857 に答える