• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - Game Center - 回合制游戏问题

[复制链接]
菜鸟教程小白 发表于 2022-12-12 09:57:48 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我正在为 iOS 开发一款带有自定义界面的回合制游戏,但我发现我的匹配界面存在一个非常奇怪的问题。以下代码用于显示事件匹配列表,我验证用户,然后获取匹配列表,最后一步是加载匹配,以便我可以显示所有信息。

当我构建应用程序时出现问题,转到匹配 View Controller 并让它静置 5 分钟;然后,当我尝试删除匹配项时,loadingMatchWithID:

出现错误
Error Domain=NSCocoaErrorDomain Code=4097 "The operation couldn’t be completed. (Cocoa error 4097.)

代码每次都能正常工作,删除、创建匹配、刷新,但如果我将 View Controller 单独放置 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);
                 }
              }];
           }
       }];
    }];



Best Answer-推荐答案


经过多天的搜索和测试,我发现了问题所在。问题在于退出然后删除比赛, removeWithCompletionHandler:participantQuitInTurnWithOutcome: 内,并且这些操作会以某种方式从游戏中心注销玩家而没有任何通知,并且奇怪的是所有 .isAuthenticated 测试都会成功。

可能最令人沮丧的部分是代码大部分都可以运行,并且每次都可以在 iOS 7 以下的设备上运行。

关于ios - Game Center - 回合制游戏问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23775575/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap