等待游戏中心认证完成是个坏主意,因为这需要很长时间。此外,认证不仅在游戏发布时完成,而且在你通过快速应用程序切换切换回游戏时也是如此。
但是,不等待身份验证会带来问题:
),该怎么办?
处理这些问题的合理方法是什么?
发布于 2011-02-21 03:11:41
嗯..。我只在应用程序开始时认证..。当你想验证玩家的身份时,它是由你自己设定的。当玩家第一次通过身份验证时,您可能想要保存玩家别名。指:
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 herehttps://stackoverflow.com/questions/5059540
复制相似问题