認証のために特定の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 にログインしていない場合にログインできるように、ロードする必要があるためです。
時間をありがとう、ダン。