嗯..我只在应用程序启动时进行身份验证..当您想要验证播放器时由您自己设置..您可能希望在播放器第一次验证时保存播放器别名..意味着:
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