私はここで未知のビットであり、これが何か間違っているかどうかはよくわかりません. 次のコードでターン制ゲームを終了しようとしています:
[match participantQuitInTurnWithOutcome:GKTurnBasedMatchOutcomeQuit
nextParticipants:[_match.participants objectAtIndex:1]
turnTimeout:GKTurnTimeoutDefault
matchData:match.matchData
completionHandler:^(NSError *error) {
if (error)
NSLog(@"Error while quitting match: %@", error.localizedFailureReason);
}];
ただし、テスト時に次のメッセージが表示されます。
マッチ終了時のエラー: (null)
これをテストするのはこれが初めてで、何が問題なのか、または誰かが私にヒントを与えることができるかどうかについてのメッセージが必要です。
乾杯
アップデート
私はインターネットを(再び)検索し、テストしているIOS6(http://www.raywenderlich.com/forums/viewtopic.php?f=13&t=5244)のコードを見つけました:
// load all of the matches the player is currently a part of
[GKTurnBasedMatch loadMatchesWithCompletionHandler:^(NSArray *matches, NSError *error)
{
if (error) NSLog(@"Error loading matches: %@", error);
// create some placeholder match data
NSString *matchString = @"Deleting match";
NSData *matchData = [matchString dataUsingEncoding:NSUTF8StringEncoding];
// for each match
for (GKTurnBasedMatch *match in matches)
{
// log the id of the match
NSLog(@"ID of match we are removing: %@", match.matchID);
// for each player we set their outcome to 'tied'
for (GKTurnBasedParticipant *participant in match.participants)
participant.matchOutcome = GKTurnBasedMatchOutcomeTied;
// end the match
[match endMatchInTurnWithMatchData:matchData completionHandler:^(NSError *error)
{
if (error) NSLog(@"Error ending the match: %@", error);
// and then remove it
[match removeWithCompletionHandler:^(NSError *error)
{
if (error) NSLog(@"Error removing match: %@", error);
}];
}];
}
}];
現在は動作しているようですが、GKErrorDomain Code=24 が表示されます。これは、「GKErrorTurnBasedInvalidState = 24」を意味しているようで、どうすればよいかわかりません。