An issue appeared on IOS 16.4 when presenting GKMatchmakerViewController with the matchmakingMode set to inviteOnly. The view controller appears with the invite option as expected. But trying to tap it, the GKMatchmakerViewController disappears immediately. No problem on the previous IOS versions. It works also when matchmakingMode is not used at all.
Game Center issue on IOS 16.4
We're experiencing this also... same issue. Players are beginning to write in asking why starting a multiplayer match crashes immediately.
Have you had any progress towards resolution on your end, or is this (I assume) just an issue on Apple's end?
And we also are using "inviteOnly"... which is required for the game setup we have. We've had successful real-time multiplayer going for awhile now, and just experiencing this in iOS 16.4 and higher.
Would love to know if anyone else is experiencing this too...
Interesting aside, the same thing happens if you set matchmakingMode to automatchOnly.
Having the same issue here. Any resolution or workarounds that anyone has found?
I have found none, other than to leave matchmakingMode set to default. I also added a verbal instruction that directs users to select the ‘Quick Match’ option when the two options are presented.
Bumping this thread to add that we're seeing this issue on all iOS versions above 16.4 (including the latest, 16.5.1). We're also seeing the same issue on macOS 13.4 but, instead of disappearing after tapping "Invite Players", the GKMatchmakingViewController
never shows up in the first place and hard-freezes our app until you force-quit it. This issue is 100% reproducible with even the simplest of examples. Removing the setting of the matchmakingMode
works on all platforms before those releases:
public func MatchMake()
{
let request = GKMatchRequest.init();
let gkvc = GKMatchmakerViewController.init(matchRequest: request);
if #available(iOS 15.0, tvOS 15.0, macOS 12.0, *) {
// Everything works across the board if we comment out the following line:
gkvc?.matchmakingMode = GKMatchmakingMode.inviteOnly;
}
#if os(iOS) || os(tvOS)
let viewController = UIApplication.shared.windows.first!.rootViewController;
viewController?.present(gkvc!, animated: true);
#else
GKDialogController.shared().parentWindow = NSApplication.shared.keyWindow;
GKDialogController.shared().present(gkvc!);
#endif
}
I'm not including setting up the delegate in this example; the bugs happen either way. On iOS, the error callback in the delegate gives us the profoundly useless message "The operation couldn't be completed" with code -5900
. We're also seeing the following errors logged in Xcode:
[lifecycle] [u D149D291-903E-4D2E-BBB3-29137BBD5982:m (null)] [com.apple.GameCenterUI.GameCenterMatchmakerExtension(1.0)] Connection to plugin interrupted while in use.
[lifecycle] [u D149D291-903E-4D2E-BBB3-29137BBD5982:m (null)] [com.apple.GameCenterUI.GameCenterMatchmakerExtension(1.0)] Connection to plugin invalidated while in use.
Has anyone submitted a bug report for this issue?