Skip to content

GameKit iOS xcode13.0 beta1

tj_devel709 edited this page Jul 8, 2021 · 3 revisions

#GameKit.framework https://github.com/xamarin/xamarin-macios/pull/12091

diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKChallenge.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKChallenge.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKChallenge.h	2021-03-16 08:48:36.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKChallenge.h	2021-06-02 11:09:15.000000000 -0400
@@ -48,6 +48,7 @@
 
 @end
 
+__WATCHOS_PROHIBITED
 @interface GKChallenge (Obsoleted)
 /*** This property is obsolete. ***/
 @property (nonatomic, readonly, nullable, copy) NSString *issuingPlayerID NS_DEPRECATED(10_8, 10_10, 6_0, 8_0, " This property is obsolete, Use issuingPlayer instead") ;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKError.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKError.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKError.h	2021-03-16 08:41:31.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKError.h	2021-06-02 02:40:34.000000000 -0400
@@ -49,4 +49,5 @@
     GKErrorFriendListDescriptionMissing         = 100,
     GKErrorFriendListRestricted                 = 101,
     GKErrorFriendListDenied                     = 102,
+    GKErrorFriendRequestNotAvailable            = 103,
 };
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKFriendRequestComposeViewController.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKFriendRequestComposeViewController.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKFriendRequestComposeViewController.h	2021-03-16 08:48:36.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKFriendRequestComposeViewController.h	2021-06-02 12:48:15.000000000 -0400
@@ -32,6 +32,7 @@
 @end
 #endif
 
+NS_CLASS_DEPRECATED(10_8, 10_12, 4_2, 10_0) 
 @interface GKFriendRequestComposeViewController ()
 /// Get the maximum number of recipients permitted
 + (NSUInteger)maxNumberOfRecipients;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKGameCenterViewController.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKGameCenterViewController.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKGameCenterViewController.h	2021-03-16 08:48:35.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKGameCenterViewController.h	2021-06-02 12:48:15.000000000 -0400
@@ -16,7 +16,8 @@
     GKGameCenterViewControllerStateAchievements,
     GKGameCenterViewControllerStateChallenges,
     GKGameCenterViewControllerStateLocalPlayerProfile,
-    GKGameCenterViewControllerStateDashboard
+    GKGameCenterViewControllerStateDashboard,
+    GKGameCenterViewControllerStateLocalPlayerFriendsList
 };
 
 #if TARGET_OS_IPHONE
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKLeaderboard.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKLeaderboard.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKLeaderboard.h	2021-03-16 08:45:45.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKLeaderboard.h	2021-06-02 12:48:16.000000000 -0400
@@ -71,7 +71,7 @@
               completionHandler:(void(^)(NSArray<GKLeaderboard *> * _Nullable leaderboards, NSError * _Nullable error))completionHandler NS_SWIFT_NAME(loadLeaderboards(IDs:completionHandler:)) API_AVAILABLE(ios(14.0), macos(11.0), tvos(14.0), watchos(7.0));
 
 /// Loads the occurrence preceding this occurrence for a recurring leaderboard in which the local player submitted a score. If no previous occurrence is found that the player submitted a score to, then the most recent previous occurrence is returned.
-- (void)loadPreviousOccurrenceWithCompletionHandler:(void(^)(GKLeaderboard * _Nullable leaderboard, NSError * _Nullable error))completionHandler API_AVAILABLE(ios(14.0), macos(11.0), tvos(14.0), watchos(7.0));
+- (void)loadPreviousOccurrenceWithCompletionHandler:(void(^)(GKLeaderboard * _Nullable_result leaderboard, NSError * _Nullable error))completionHandler API_AVAILABLE(ios(14.0), macos(11.0), tvos(14.0), watchos(7.0));
 
 /// Class method to submit a single score to multiple leaderboards
 ///   score - earned by the player
@@ -105,7 +105,7 @@
 - (void)loadEntriesForPlayerScope:(GKLeaderboardPlayerScope)playerScope
                         timeScope:(GKLeaderboardTimeScope)timeScope
                             range:(NSRange)range
-                completionHandler:(void(^)(GKLeaderboardEntry * _Nullable localPlayerEntry, NSArray<GKLeaderboardEntry *> * _Nullable entries, NSInteger totalPlayerCount, NSError * _Nullable error))completionHandler API_AVAILABLE(ios(14.0), macos(11.0), tvos(14.0), watchos(7.0));
+                completionHandler:(void(^)(GKLeaderboardEntry * _Nullable_result localPlayerEntry, NSArray<GKLeaderboardEntry *> * _Nullable entries, NSInteger totalPlayerCount, NSError * _Nullable error))completionHandler API_AVAILABLE(ios(14.0), macos(11.0), tvos(14.0), watchos(7.0));
 
 /// Loads leaderboard entries for specific players based on the supplied parameters.
 ///   players - Array of players to load entries for
@@ -115,7 +115,7 @@
 ///   entries - requested entries matching supplied parameters
 - (void)loadEntriesForPlayers:(NSArray<GKPlayer *> *)players
                     timeScope:(GKLeaderboardTimeScope)timeScope
-            completionHandler:(void(^)(GKLeaderboardEntry * _Nullable localPlayerEntry, NSArray<GKLeaderboardEntry *> * _Nullable entries, NSError * _Nullable error))completionHandler API_AVAILABLE(ios(14.0), macos(11.0), tvos(14.0), watchos(7.0));
+            completionHandler:(void(^)(GKLeaderboardEntry * _Nullable_result localPlayerEntry, NSArray<GKLeaderboardEntry *> * _Nullable entries, NSError * _Nullable error))completionHandler API_AVAILABLE(ios(14.0), macos(11.0), tvos(14.0), watchos(7.0));
 
 @end
 
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKLocalPlayer.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKLocalPlayer.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKLocalPlayer.h	2021-03-16 09:55:31.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKLocalPlayer.h	2021-06-02 11:08:05.000000000 -0400
@@ -263,6 +263,40 @@
 @property(atomic, nullable, copy) void(^authenticateHandler)(NSViewController * __nullable viewController, NSError * __nullable error) NS_AVAILABLE_MAC(10_9);
 #endif
 
+#if !TARGET_OS_WATCH && !TARGET_OS_TV
+/// observable property that becomes true when the friend request view controller is displayed.  It becomes false when it is dismissed
+@property (nonatomic, readonly) BOOL isPresentingFriendRequestViewController API_AVAILABLE(ios(15.0), macos(12.0)) API_UNAVAILABLE(watchos, tvos);
+
+#if TARGET_OS_IOS && !TARGET_OS_MACCATALYST
+/**
+ *  presentFriendRequestCreatorFromViewController:
+ *
+ *  Discussion:
+ *      iOS only. When invoked, a Messages sheet will be presented on the viewController passed in, using the existing flow of presentation on behalf of an application.
+ *      If an error is returned, control are returned directly to the application, without presentation.
+ *
+ *      Possible reasons for error:
+ *          - The local player user account is not allowed to add friends
+ *            - The device is not allowing outgoing traffic at the time of the operation
+*/
+- (BOOL)presentFriendRequestCreatorFromViewController:(UIViewController *)viewController error:(NSError **)error API_AVAILABLE(ios(15.0))  API_UNAVAILABLE(macos, watchos, tvos);
+
+#elif TARGET_OS_OSX
+/**
+ *  presentFriendRequestCreatorFromWindow:
+ *
+ *  Discussion:
+ *      MacOS only. When invoked, if no error is encountered, the caller application is backgrounded and the 'Messages' application is launched/foregrounded, with a formatted friend request message.
+ *      If an error occurs, controls are returned to the caller application, with an error describing the error.
+ *
+ *      Possible reasons for error:
+ *          - The local player user account is not allowed to add friends
+ *            - The device is not allowing outgoing traffic at the time of the operation
+*/
+- (BOOL)presentFriendRequestCreatorFromWindow:(nullable NSWindow *)window error:(NSError **)error API_AVAILABLE(macos(12.0))  API_UNAVAILABLE(ios, watchos, tvos);
+#endif
+
+#endif
 @end
 
 NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKMatch.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKMatch.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKMatch.h	2021-03-16 09:56:40.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKMatch.h	2021-06-02 12:48:17.000000000 -0400
@@ -81,6 +81,7 @@
 - (BOOL)match:(GKMatch *)match shouldReinvitePlayer:(NSString *)playerID NS_DEPRECATED(10_8, 10_10, 5_0, 8_0, "This is never invoked and its implementation does nothing, use shouldReinviteDisconnectedPlayer:") ;
 @end
 
+__WATCHOS_PROHIBITED
 @interface GKMatch (Obsoleted)
 /*** This method is obsolete. It will never be invoked and its implementation does nothing***/
 - (void)chooseBestHostPlayerWithCompletionHandler:(void(^)(NSString * __nullable playerID))completionHandler NS_DEPRECATED(10_9, 10_10, 6_0, 8_0, "This is never invoked and its implementation does nothing, use chooseBestHostingPlayerWithCompletionHandler:") ;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKMatchmaker.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKMatchmaker.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKMatchmaker.h	2021-03-16 05:20:46.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKMatchmaker.h	2021-06-02 07:36:26.000000000 -0400
@@ -45,7 +45,7 @@
 /// The player group identifier. Matchmaking will only take place between players in the same group.
 @property(assign) NSUInteger playerGroup;
 
-/// optional mask that specifies the role that the local player would like to play in the game.  If this value is 0 (the default), this property is ignored. If the value is nonzero, then automatching uses the value as a mask that restricts the role the player can play in the group. Automatching with player attributes matches new players into the game so that the bitwise OR of the masks of all the players in the resulting match equals 0xFFFFFFFF.
+/// optional mask that specifies the role that the local player would like to play in the game.  If this value is 0, it will be set to 0xFFFFFFFF (the default), and this property will be ignored. If the value is nonzero, then automatching uses the value as a mask that restricts the role the player can play in the group. Automatching with player attributes matches new players into the game so that the bitwise OR of the masks of all the players in the resulting match equals 0xFFFFFFFF.
 @property(assign) uint32_t playerAttributes;
 
 /// Array of GKPlayers to invite, or nil if none. This array can also include local guest players.
@@ -174,11 +174,13 @@
 
 @end
 
+__WATCHOS_PROHIBITED
 @interface GKMatchmaker (GKDeprecated)
 
 @property(nonatomic, nullable, copy) void(^inviteHandler)(GKInvite *acceptedInvite, NSArray * __nullable playerIDsToInvite) NS_DEPRECATED(10_8, 10_10, 4_1, 7_0, "Use registerListener on GKLocalPlayer to register an object that implements the GKInviteEventListenerProtocol instead") ;
 @end
 
+__WATCHOS_PROHIBITED
 @interface GKMatchmaker (Obsoleted)
 /*** This method is obsolete. It will never be invoked and its implementation does nothing***/
 - (void)startBrowsingForNearbyPlayersWithReachableHandler:(void(^__nullable)(NSString *playerID, BOOL reachable))reachableHandler NS_DEPRECATED(10_9, 10_10, 6_0, 8_0, "This is never invoked and its implementation does nothing, Use startBrowsingForNearbyPlayersWithHandler: instead") ;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKMatchmakerViewController.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKMatchmakerViewController.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKMatchmakerViewController.h	2021-03-16 08:48:36.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKMatchmakerViewController.h	2021-06-02 11:09:14.000000000 -0400
@@ -12,13 +12,14 @@
 typedef NS_ENUM(NSInteger, GKMatchmakingMode) {
     GKMatchmakingModeDefault = 0,
     GKMatchmakingModeNearbyOnly = 1,
-    GKMatchmakingModeAutomatchOnly = 2
+    GKMatchmakingModeAutomatchOnly = 2,
+    GKMatchmakingModeInviteOnly API_AVAILABLE(ios(15), macos(12), tvos(15)) = 3 ,
 };
 
 /// View controller to invite friends, respond to invites, and perform auto-matching. Present modally from the top view controller.
 #if TARGET_OS_IPHONE
 
-#import <Foundation/Foundation.h> // NS_ASSUME_NONNULL_BEGIN
+#import <Foundation/Foundation.h>
 #import <UIKit/UINavigationController.h> // UINavigationController
 
 NS_ASSUME_NONNULL_BEGIN
@@ -35,8 +36,12 @@
 @property(nonatomic, readonly, strong) GKMatchRequest                   *matchRequest;
 /// set to YES to receive hosted (eg. not peer-to-peer) match results. Will cause the controller to return an array of players instead of a match.
 @property(nonatomic, assign, getter=isHosted) BOOL                      hosted;// set to YES to receive hosted (eg. not peer-to-peer) match results. Will cause the controller to return an array of players instead of a match.
-/// this controls which mode of matchmaking to support in the UI (all, nearby only or automatch only).  Throws an exeption if you can not set to the desired mode (due to restrictions)
+/// this controls which mode of matchmaking to support in the UI (all, nearby only, automatch only, invite only).  Throws an exeption if you can not set to the desired mode (due to restrictions)
 @property(nonatomic, assign) GKMatchmakingMode                          matchmakingMode;
+/// A BOOL value to allow the GKMatchMakerViewController to return control to the game once the minimum number of players are connected.
+/// By default the value is NO, and the multiplayer match can only proceed after all players are connected.
+/// If the value is set to YES, then once the number of connected players is greater than or equal to minPlayers of the match request, matchmakerViewController:didFindMatch: will be called and the game can get the match instance, and update the game scene accordingly. The remaining players wil continue to connect.
+@property(nonatomic, assign) BOOL                                       canStartWithMinimumPlayers API_AVAILABLE(ios(15.0), macos(12.0), tvos(15.0));
 
 /// Initialize with a matchmaking request, allowing the user to send invites and/or start matchmaking
 - (nullable id)initWithMatchRequest:(GKMatchRequest *)request;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKTurnBasedMatch.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKTurnBasedMatch.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKTurnBasedMatch.h	2021-03-16 08:48:37.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKTurnBasedMatch.h	2021-06-02 07:36:26.000000000 -0400
@@ -184,7 +184,7 @@
 - (void)removeWithCompletionHandler:(void(^__nullable)(NSError * __nullable error))completionHandler;
 
 // This method fetches the match data and exchanges for this match.  This data is the state of the game at this point in time.  This may update the status and/or participant properties if they have changed.
-- (void)loadMatchDataWithCompletionHandler:(void(^__nullable)(NSData * __nullable matchData, NSError * __nullable error))completionHandler;
+- (void)loadMatchDataWithCompletionHandler:(void(^__nullable)(NSData * _Nullable_result matchData, NSError * __nullable error))completionHandler;
 
 
 // Ends the current player's turn. You may update the matchOutcome for any GKTurnBasedPlayerInfos that you wish to before ending the turn.
@@ -230,7 +230,7 @@
              localizableMessageKey:(NSString *)key
                          arguments:(NSArray<NSString *> *)arguments
                            timeout:(NSTimeInterval)timeout
-                 completionHandler:(void(^__nullable)(GKTurnBasedExchange * __nullable exchange, NSError * __nullable error))completionHandler NS_AVAILABLE(10_10, 7_0)  __WATCHOS_AVAILABLE(3_0);
+                 completionHandler:(void(^__nullable)(GKTurnBasedExchange * _Nullable_result exchange, NSError * __nullable error))completionHandler NS_AVAILABLE(10_10, 7_0)  __WATCHOS_AVAILABLE(3_0);
 
 // Send a reminder to one or more participants.  Each recipient will receive a push notification using supplied localizable message.  This allows a game to send reminders that a turn or exchange request needs action.  On the receiver side this will generate a turn event for the match.
 - (void)sendReminderToParticipants:(NSArray<GKTurnBasedParticipant *> *)participants
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKTurnBasedMatchmakerViewController.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKTurnBasedMatchmakerViewController.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKTurnBasedMatchmakerViewController.h	2021-03-16 08:48:36.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKTurnBasedMatchmakerViewController.h	2021-06-02 12:48:16.000000000 -0400
@@ -11,10 +11,12 @@
 
 @protocol GKTurnBasedMatchmakerViewControllerDelegate;
 
+#import <Foundation/Foundation.h>
+#import <GameKit/GKMatchmakerViewController.h>
+
 /// View controller to manage turn-based matches, invite friends and perform auto-matching. Present modally from the top view controller.
 #if TARGET_OS_IPHONE
 
-#import <Foundation/Foundation.h> // NS_ASSUME_NONNULL_BEGIN
 #import <UIKit/UINavigationController.h> // UINavigationController
 
 NS_ASSUME_NONNULL_BEGIN
@@ -34,6 +36,9 @@
 @property (nonatomic, nullable, readwrite, weak) id<GKTurnBasedMatchmakerViewControllerDelegate> turnBasedMatchmakerDelegate;
 @property (nonatomic, readwrite, assign) BOOL showExistingMatches; /// defaults to YES
 
+/// This controls the mode of matchmaking to support in the UI (all, nearby only, automatch only, invite only). Throws an exception if you can not set to the desired mode (due to restrictions)
+@property (nonatomic, assign) GKMatchmakingMode matchmakingMode API_AVAILABLE(ios(15), macos(12), tvos(15));
+
 - (id)initWithMatchRequest:(GKMatchRequest *)request;
 
 @end
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKVoiceChat.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKVoiceChat.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKVoiceChat.h	2021-03-16 08:48:36.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKVoiceChat.h	2021-06-02 12:48:16.000000000 -0400
@@ -40,10 +40,12 @@
 
 @end
 
+__WATCHOS_PROHIBITED
 @interface GKVoiceChat (Deprecated)
 @property(copy, NS_NONATOMIC_IOSONLY) void(^playerStateUpdateHandler)(NSString *playerID, GKVoiceChatPlayerState state) NS_DEPRECATED(10_8, 10_10, 4_1, 8_0, "use setPlayerVoiceChatStateDidChangeHandler:") ;
 @end
 
+__WATCHOS_PROHIBITED
 @interface GKVoiceChat (Obsoleted)
 /*** This property is obsolete. ***/
 @property(readonly, nullable, NS_NONATOMIC_IOSONLY) NSArray<NSString *> *playerIDs NS_DEPRECATED(10_8, 10_10, 5_0, 8_0, "use players") ;
Clone this wiki locally