If three different devices try to find a match, then almost always only two users find a match, and the third one does not. I need that when searching for a match, all available players get there, not the minimum pair.
Example:
GKMatchRequest *request = [[GKMatchRequest alloc] init];
request.minPlayers = 2;
request.maxPlayers = 4;
GKMatchmaker *matchmaker = [GKMatchmaker sharedMatchmaker];
[matchmaker findMatchForRequest:request withCompletionHandler:^(GKMatch *match, NSError *error) {
if (!match) {
_print_v("match find automatch failed! match is null");
return;
}
_print_v("im finded match!!!!! <<<<<<<<");
}];
If three different devices try to find a match, the almost always only two users find a match, and the third one does not.
All devices have a unique account. All three devices are physical (not virtual).
Even if the devices are on different networks, this does not solve the problem.
Very rarely, sometimes GameKit matches all devices in a match, but this happens once out of twenty when the search for a match at the same time.
I finish the match selection only in two minutes. During this time, the third player does not find a match.
I tried to search for a match at the same time. I tried to search for a match at intervals of five and ten seconds in turn.
How to solve this problem? 99% of guides and examples are designed for testing in pairs or show a demonstration in pairs. I have not found a single solution that would guarantee the work of more than the minimum number of opponents.
p.s.:a decision is also made on swift.