Хм .. Я аутентифицируюсь только в начале приложения. Он устанавливается вами, когда вы хотите аутентифицировать игрока. Возможно, вы захотите сохранить псевдоним игрока при первой аутентификации игрока. Значит:
sharedData.myName = [[GKLocalPlayer localPlayer]alias];
Поэтому, когда приложение проигрывателя переключается и заполняется, но не проходит проверку подлинности, вы сохраняете данные под псевдонимом этого игрока. Поэтому, когда проигрыватель окончательно проходит проверку подлинности, вы отправляете данные в GameCenter
Значение в вашей проверке часть GameCenter ..
if(!inGame)
{
[[GKLocalPlayer localPlayer] authenticateWithCompletionHandler:^(NSError *error){
if(error == nil){
if(sharedData.myName ==nil)
{
sharedData.myName = [[GKLocalPlayer localPlayer]alias];
}
else if([[GKLocalPlayer localPlayer]alias] == sharedData.myName)
{
[self sendSavedData];
}
else if([[GKLocalPlayer localPlayer]alias] != sharedData.myName)
{
// create new data or look for other saved data which has the same name..
// set sharedData.myName to current player Name..
}
}
enter code here