菜鸟教程小白 发表于 2022-12-12 09:57:48

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


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

<p>当我构建应用程序时出现问题,转到匹配 ViewController 并让它静置 5 分钟;然后,当我尝试删除匹配项时,<code>loadingMatchWithID:</code></p> 出现错误

<pre><code>Error Domain=NSCocoaErrorDomain Code=4097 &#34;The operation couldn’t be completed. (Cocoa error 4097.)
</code></pre>

<p>代码每次都能正常工作,删除、创建匹配、刷新,但如果我将 ViewController 单独放置 5 分钟然后尝试删除,我会收到错误消息。奇怪的是,localPlayer 通过了身份验证测试,并正确加载了匹配数组,然后停止加载匹配。</p>

<p>另一件事发生了,如果出现错误并且我按下主页按钮并打开应用程序,所有单词都会再次出现并且匹配正确加载。 </p>

<p>我认为我的身份验证有问题,但错误在哪里?</p>

<p>更新:问题出现在 iOS7 中,但在 iOS6 中有效!</p>

<pre><code>[localPlayer authenticateWithCompletionHandler:^(NSError *error)
    {
       if (error)return;
       [GKTurnBasedMatch loadMatchesWithCompletionHandler:^(NSArray *matches, NSError *error)
       {
          for (int i = 0; i &lt; matchesArray.count; i++)
          {
             matchID] withCompletionHandler:^(GKTurnBasedMatch *updatedMatch, NSError *error)
             {
               if (error != nil)
               {
                     NSLog(@&#34;Error: %@&#34;,error.description);
               }
            }];
         }
       }];
    }];
</code></pre></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>经过多天的搜索和测试,我发现了问题所在。问题在于退出然后删除比赛, <code>removeWithCompletionHandler:</code> 在 <code>participantQuitInTurnWithOutcome:</code> 内,并且这些操作会以某种方式从游戏中心注销玩家而没有任何通知,并且奇怪的是所有 <code>.isAuthenticated</code> 测试都会成功。</p>

<p>可能最令人沮丧的部分是代码大部分都可以运行,并且每次都可以在 iOS 7 以下的设备上运行。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - Game Center - 回合制游戏问题,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/23775575/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/23775575/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - Game Center - 回合制游戏问题