我正在为 iOS 开发一款带有自定义界面的回合制游戏,我发现我的匹配界面存在一个非常奇怪的问题。以下代码用于显示活动匹配列表,我验证用户,然后获取匹配列表,最后一步是加载匹配,以便我可以显示所有信息。
当我构建应用程序时出现问题,转到配对视图控制器并将其放置 5 分钟;然后当我尝试删除匹配项时出现错误loadingMatchWithID:
Error Domain=NSCocoaErrorDomain Code=4097 "The operation couldn’t be completed. (Cocoa error 4097.)
代码每次都可以正常工作,删除,创建匹配,刷新,但是如果我将视图控制器单独放置 5 分钟,然后尝试删除,我会收到错误消息。奇怪的是,localPlayer 通过了身份验证测试,并正确加载了匹配数组,然后停止加载匹配。
发生另一件事,如果出现错误并且我按下主页按钮并打开应用程序,所有单词都会再次出现并且匹配正确加载。
我认为身份验证有问题,但错误在哪里?
更新:问题出现在 iOS7 中,但在 iOS6 中有效!
[localPlayer authenticateWithCompletionHandler:^(NSError *error)
{
if (error)return;
[GKTurnBasedMatch loadMatchesWithCompletionHandler:^(NSArray *matches, NSError *error)
{
for (int i = 0; i < matchesArray.count; i++)
{
[GKTurnBasedMatch loadMatchWithID:[[matchesArray objectAtIndex:i]matchID] withCompletionHandler:^(GKTurnBasedMatch *updatedMatch, NSError *error)
{
if (error != nil)
{
NSLog(@"Error: %@",error.description);
}
}];
}
}];
}];