我在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
}