6

ターン制の GameCenter ゲームに取り組んでいます。AGKTurnBasedMatchは で作成され、GKMatchRequestminPlayersmaxPlayersが 2 に設定されています。NSInvalidArgumentExceptionでゲームを終了しようとすると、すべての参加者にendMatchInTurnWithMatchData設定していないというメッセージが表示されます。matchOutcomeこの時点の直前の一致オブジェクトのログは、私の一致が次のようになっていることを示しています。

<GKTurnBasedMatch 0x1c1f2af0 - matchID:c9de6e47-0e9a-4dbe-944b-d2fd4ecd3044 bundleID:com.mybundle.wd status:GKTurnBasedMatchStatusEnded message:'Game Over' creationDate:2013-10-08 01:26:12 +0000 currentParticipant:(null) participants:
<GKTurnBasedParticipant 0x1c184820 - playerID:G:128458444 (local player) status:Done matchOutcome:Lost lastTurnDate:2013-10-10 21:54:22 +0000 timeoutDate:(null)>,
<GKTurnBasedParticipant 0x1c1b0a80 - playerID:G:220673962 status:Done matchOutcome:Lost lastTurnDate:2013-10-10 18:26:16 +0000 timeoutDate:(null)>,
<GKTurnBasedParticipant 0x16ef1610 - playerID:G:128458444 (local player) status:Active matchOutcome:None lastTurnDate:(null) timeoutDate:(null)>,
<GKTurnBasedParticipant 0x16ec64f0 - playerID:(null) status:Matching matchOutcome:None lastTurnDate:(null) timeoutDate:(null)> matchData.length:871 matchDataMaximumSize:65536 exchanges:(null)>

ここに 2 つ以上GKTurnBasedParticipantsありますが、そのうちの 2 つは同じプレイヤーです。毎ターン次のようにコールすることを除いて、私はゲームで異常なことは何もしません。

[match endTurnWithNextParticipants:@[nextParticipant] turnTimeout:GKTurnTimeoutDefault matchData:data completionHandler:^(NSError *error){...}]

ここで何が起こっているのか誰にも分かりませんか?これは 2 人用のゲームですが、どうすればマッチ オブジェクトがめちゃくちゃになってしまうのでしょうか? また、これを防ぐにはどうすればよいでしょうか?

4

2 に答える 2

0

私はゲームを終了するために次のことを行います

        ((GKTurnBasedParticipant*)[currentMatch.participants objectAtIndex:1]).matchOutcome = GKTurnBasedMatchOutcomeWon;
        ((GKTurnBasedParticipant*)[currentMatch.participants objectAtIndex:0]).matchOutcome = GKTurnBasedMatchOutcomeLost;

それから私は電話します

[currentMatch endMatchInTurnWithMatchData:data completionHandler:^(NSError *error)
{
         if (error)
         {
             NSLog(@"%@", error);
         }
         else{


         }
     }];
于 2013-12-31T13:12:09.380 に答える
0

Apple にバグを報告したところ、4 か月後に次のメールが届きました。

キリルさん、こんにちは。

これは Bug ID# 15615850 に関するフォローアップです。

この問題は解決されたと考えています。iOS 7.1 ベータ 4 (11D5134c) リリースで確認し、結果をレポートに反映してください。

はい、これはバグとして確認されています。回避策はまだわかりませんが、7.1 がリリースされたら削除します。

于 2014-01-23T17:15:58.803 に答える