マッチメーカーを使用してカスタム マッチメイキング ビューを作成しようとしています。以下のコードは、一致を見つけるために使用されます。
異なる Game Center アカウントを持つ 2 つの異なるデバイスでこれを実行すると、両方が一致しますが、いずれも一致に接続しません。それらは、無限ループの while でスタックするだけで、決して抜け出すことはありません。何か見逃したことがありますか?実際に試合に接続するには、何かを呼び出す必要がありますか?
- (void) findMatch{
GKMatchRequest *request = [[GKMatchRequest alloc] init];
request.minPlayers = 2;
request.maxPlayers = 2;
request.playersToInvite = nil;
NSLog(@"Start searching!");
[matchmaker findMatchForRequest:request
withCompletionHandler:^(GKMatch *match, NSError *error)
{
if (error) {
// Print the error
NSLog(@"%@", error.localizedDescription);
}
else if (match != nil)
{
curMatch = match;
curMatch.delegate = self;
NSLog(@"Expected: %i", match.expectedPlayerCount);
while (match.expectedPlayerCount != 0){
NSLog(@"PLayers: %i", curMatch.playerIDs.count);
}
NSLog(@"Start match!");
}
}];