iOS + Xamarin iOS の GameCenter で非常に奇妙な問題に直面しています。
ユーザーが GameCenter で認証プロセスをキャンセルした場合、AuthenticateHandler を再度設定しても何も実行されず、アプリをバックグラウンドに送信してから復元する場合を除いて、ハンドラーは起動されません。
これは正常な動作ですか、それともこれを機能させる方法はありますか?
間違ってキャンセルボタンを押してしまうと認証できないのはとても困ります。
これが私の認証コードです:
if (!GKLocalPlayer.LocalPlayer.Authenticated)
{
GKLocalPlayer.LocalPlayer.AuthenticateHandler =
(UIViewController cont, NSError Err) => {
if (cont != null)
OpenGLViewController.CurrentController.
PresentViewController (cont, true, null);
else if (GKLocalPlayer.LocalPlayer.Authenticated) {
//Authenticated user
} else {
//Error
}
};
} else {
//Authenticated user
}