Skip to content

GameKit tvOS xcode15.0 b1

Haritha Mohan edited this page Oct 20, 2023 · 5 revisions

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

diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKAccessPoint.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKAccessPoint.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKAccessPoint.h	2023-03-09 19:15:05
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKAccessPoint.h	2023-05-31 04:55:10
@@ -1,13 +1,11 @@
-//
-//  GKAccessPoint.h
-//  Game Center
-//
-//  Copyright 2020-2023 Apple Inc. All rights reserved.
-//
+// Copyright © Apple Inc. All rights reserved.
 
+#import <TargetConditionals.h>
 #import <Foundation/Foundation.h>
+
+#if !TARGET_OS_WATCH
+
 #import <CoreGraphics/CoreGraphics.h>
-#import <TargetConditionals.h>
 
 #import <GameKit/GKGameCenterViewController.h>
 
@@ -42,7 +40,7 @@
 @property (nonatomic, readonly, getter=isVisible) BOOL visible;     /// observable property that indicates when the access point is visible.
 @property (nonatomic, readonly) BOOL isPresentingGameCenter;        /// observable property that becomes true when user taps on the access point and it is showing Game Center UI.  Will become false when it is dismissed
 
-/// Set this property to true if you wish to show the highlights for most recent acheivement, current rank on default leaderboard, etc
+/// Set this property to true if you wish to show the highlights for most recent achievement, current rank on default leaderboard, etc
 @property (nonatomic, assign) BOOL showHighlights;
 
 /// These properties control the placement of the widget
@@ -62,10 +60,12 @@
 @property (nonatomic, weak, nullable) UIWindow *parentWindow;
 #endif
 
-/// this lets the developer trigger the access point as if the user had touched it.  This is useful for games that use controllers or the remote on AppleTV.  the argument lets you specify a specific state (default, profile, acheivements, leaderboards) for GameCenterViewController
+/// this lets the developer trigger the access point as if the user had touched it.  This is useful for games that use controllers or the remote on AppleTV.  the argument lets you specify a specific state (default, profile, achievements, leaderboards) for GameCenterViewController
 - (void)triggerAccessPointWithHandler:(void (^)(void))handler NS_SWIFT_NAME(trigger(handler:));
 - (void)triggerAccessPointWithState:(GKGameCenterViewControllerState)state handler:(void (^)(void))handler NS_SWIFT_NAME(trigger(state:handler:));
 
 @end
 
 NS_ASSUME_NONNULL_END
+
+#endif
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKAchievement.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKAchievement.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKAchievement.h	2023-03-09 19:15:06
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKAchievement.h	2023-05-31 04:55:11
@@ -1,9 +1,4 @@
-//
-//  GKAchievement.h
-//  Game Center
-//
-//  Copyright 2010-2023 Apple Inc. All rights reserved.
-//
+// Copyright © Apple Inc. All rights reserved.
 
 #import <Foundation/Foundation.h>
 #import <GameKit/GKDefines.h>
@@ -13,7 +8,6 @@
 NS_ASSUME_NONNULL_BEGIN
 // GKAchievement represents a game achievement that the player has started or completely achieved.
 NS_CLASS_AVAILABLE(10_8, 4_1) __WATCHOS_AVAILABLE(3_0)
-
 @interface GKAchievement : NSObject <NSCoding, NSSecureCoding>
 
 /// Asynchronously load all achievements for the local player
@@ -54,17 +48,20 @@
 /// The identifier of the player that earned the achievement.
 @property(readonly, strong, nullable, NS_NONATOMIC_IOSONLY) GKPlayer *player NS_AVAILABLE(10_10, 8_0);
 
+/// If present, the rarity of the achievement expressed as a percentage of players that earned it. Null if not enough data is available to compute it.
+@property(copy, readonly, nullable) NSNumber *rarityPercent API_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)) NS_REFINED_FOR_SWIFT;
+
 @end
 
 @interface GKAchievement (Deprecated)
-- (void)reportAchievementWithCompletionHandler:(void(^ __nullable)(NSError * __nullable error))completionHandler NS_DEPRECATED(10_8, 10_10, 4_1, 7_0, "Use +reportAchievements:withCompletionHandler:") __TVOS_UNAVAILABLE;
-@property(assign, getter=isHidden, readonly, NS_NONATOMIC_IOSONLY) BOOL hidden NS_DEPRECATED(10_8, 10_10, 4_1, 6_0, "Use isHidden on the GKAchievementDescription class instead") __TVOS_UNAVAILABLE;
+- (void)reportAchievementWithCompletionHandler:(void(^ __nullable)(NSError * __nullable error))completionHandler API_DEPRECATED_WITH_REPLACEMENT("+reportAchievements:withCompletionHandler:", ios(4.1,7.0), macos(10.8,10.10)) __TVOS_UNAVAILABLE;
+@property(assign, getter=isHidden, readonly, NS_NONATOMIC_IOSONLY) BOOL hidden API_DEPRECATED_WITH_REPLACEMENT("-[GKAchievementDescription isHidden:]", ios(4.1,6.0), macos(10.8,10.10)) __TVOS_UNAVAILABLE;
 @end
 
 @interface GKAchievement (Obsoleted)
 /*** This method is obsolete. Calling this initialiser does nothing and will return nil ***/
-- (nullable instancetype)initWithIdentifier:(nullable NSString *)identifier forPlayer:(NSString *)playerID NS_DEPRECATED_IOS(7_0, 8_0, "This is never invoked and its implementation does nothing, use initWithIdentifier:player:") __TVOS_UNAVAILABLE;
+- (nullable instancetype)initWithIdentifier:(nullable NSString *)identifier forPlayer:(NSString *)playerID API_DEPRECATED_WITH_REPLACEMENT("-initWithIdentifier:player:", ios(7.0,8.0)) API_UNAVAILABLE(tvos);
 /*** This property is obsolete. ***/
-@property(readonly, copy, nullable, NS_NONATOMIC_IOSONLY)  NSString * playerID NS_DEPRECATED_IOS(7_0, 8_0, "This will return a null string, use player instead") __TVOS_UNAVAILABLE;
+@property(readonly, copy, nullable, NS_NONATOMIC_IOSONLY)  NSString * playerID API_DEPRECATED_WITH_REPLACEMENT("-player:", ios(7.0,8.0)) API_UNAVAILABLE(tvos);
 @end
 NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKAchievementDescription.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKAchievementDescription.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKAchievementDescription.h	2023-03-09 19:15:07
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKAchievementDescription.h	2023-05-31 04:55:11
@@ -1,14 +1,9 @@
-//
-//  GKAchievementDescription.h
-//  Game Center
-//
-//  Copyright 2010-2023 Apple Inc. All rights reserved.
-//
+// Copyright © Apple Inc. All rights reserved.
 
+#import <TargetConditionals.h>
 #import <Foundation/Foundation.h>
 #import <GameKit/GKDefines.h>
 
-
 NS_ASSUME_NONNULL_BEGIN
 /// GKAchievementDescription is a full description of the achievement as defined before app submission in App Store Connect.
 NS_CLASS_AVAILABLE(10_8, 4_1) __WATCHOS_AVAILABLE(3_0)
@@ -35,20 +30,21 @@
 @end
 NS_ASSUME_NONNULL_END
 
+
+#if !TARGET_OS_WATCH
+
 #if TARGET_OS_IPHONE
 @class UIImage;
 #else
 @class NSImage;
 #endif
 
-#import <GameKit/GKAchievementDescription.h>
-
 @interface GKAchievementDescription (UI)
 
 #if TARGET_OS_IPHONE
 
 // Image for completed achievement. Not valid until loadImage: has completed. Deprecated -- use loadImageWithCompletionHandler: instead.
-@property(nonatomic, retain, readonly, nullable) UIImage *image NS_DEPRECATED(10_8, 10_10, 4_1, 7_0, "Use loadImageWithCompletionHandler: instead");
+@property(nonatomic, retain, readonly, nullable) UIImage *image API_DEPRECATED_WITH_REPLACEMENT("-loadImageWithCompletionHandler:", ios(4.1,7.0), macos(10.8,10.10));
 
 // Asynchronously load the image. Error will be nil on success.
 - (void)loadImageWithCompletionHandler:(void(^ __nullable)(UIImage * __nullable image, NSError * __nullable error))completionHandler;
@@ -81,4 +77,4 @@
 
 @end
 
-
+#endif
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKAchievementViewController.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKAchievementViewController.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKAchievementViewController.h	1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKAchievementViewController.h	2023-05-31 04:55:11
@@ -0,0 +1,30 @@
+// Copyright © Apple Inc. All rights reserved.
+
+#import <TargetConditionals.h>
+
+#if !TARGET_OS_TV && !TARGET_OS_WATCH
+
+#if TARGET_OS_IPHONE
+#import <UIKit/UIKit.h>
+#else
+#import <AppKit/AppKit.h>
+#endif
+#import <GameKit/GKGameCenterViewController.h>
+
+@protocol GKAchievementViewControllerDelegate;
+
+/// View controller that provides the standard user interface for achievements. Present modally from the top view controller.
+API_DEPRECATED_WITH_REPLACEMENT("GKGameCenterViewController", ios(4.1,7.0), macos(10.8,10.10)) __TVOS_UNAVAILABLE
+@interface GKAchievementViewController : GKGameCenterViewController
+@property (weak, NS_NONATOMIC_IOSONLY) id<GKAchievementViewControllerDelegate> achievementDelegate;
+@end
+
+/// Optional delegate
+API_DEPRECATED_WITH_REPLACEMENT("GKGameCenterViewController", ios(4.1,7.0), macos(10.8,10.10)) __TVOS_UNAVAILABLE
+@protocol GKAchievementViewControllerDelegate <NSObject>
+@required
+/// The achievement view has finished
+- (void)achievementViewControllerDidFinish:(GKAchievementViewController *)viewController;
+@end
+
+#endif
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKBasePlayer.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKBasePlayer.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKBasePlayer.h	2023-03-09 19:15:05
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKBasePlayer.h	2023-05-31 04:55:10
@@ -1,17 +1,13 @@
-//
-//  GKBasePlayer.h
-//  Game Center
-//
-//  Copyright 2016-2023 Apple Inc. All rights reserved.
-//
+// Copyright © Apple Inc. All rights reserved.
 
+#import <TargetConditionals.h>
 #import <Foundation/Foundation.h>
 #import <GameKit/GKDefines.h>
 
 NS_CLASS_AVAILABLE(10_12, 10_0) __WATCHOS_AVAILABLE(3_0)
 @interface GKBasePlayer : NSObject
 
-@property(readonly, nullable, retain, NS_NONATOMIC_IOSONLY) NSString *playerID API_DEPRECATED( "use the teamPlayerID property to identify a player",ios(4.1,13.0),tvos(9.0,13.0),macosx(10.8,10.15));
+@property(readonly, nullable, retain, NS_NONATOMIC_IOSONLY) NSString *playerID API_DEPRECATED("Use either the gamePlayerID or teamPlayerID property to identify a player.",ios(4.1,13.0),tvos(9.0,13.0),macosx(10.8,10.15));
 
 /// This player's name representation as displayed in the Game Center in-game UI. Use this when you need to display the player's name. The display name may be very long, so be sure to use appropriate string truncation API when drawing.
 @property(readonly, nullable, NS_NONATOMIC_IOSONLY) NSString *displayName;
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKChallenge.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKChallenge.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKChallenge.h	2023-03-09 19:15:05
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKChallenge.h	2023-05-31 04:15:21
@@ -1,10 +1,6 @@
-//
-//  GKChallenge.h
-//  Game Center
-//
-//  Copyright 2012-2023 Apple Inc. All rights reserved.
-//
+// Copyright © Apple Inc. All rights reserved.
 
+#import <TargetConditionals.h>
 #import <Foundation/Foundation.h>
 #import <GameKit/GKScore.h>
 #import <GameKit/GKLeaderboardEntry.h>
@@ -22,7 +18,6 @@
     GKChallengeStateDeclined = 3, // The challenge has been declined by the receiving player
 };
 
-
 NS_CLASS_AVAILABLE(10_8, 6_0) __WATCHOS_PROHIBITED
 @interface GKChallenge : NSObject <NSCoding, NSSecureCoding>
 
@@ -51,16 +46,19 @@
 __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") __TVOS_UNAVAILABLE;
+@property (nonatomic, readonly, nullable, copy) NSString *issuingPlayerID API_DEPRECATED_WITH_REPLACEMENT("-issuingPlayer:", ios(6.0,8.0), macos(10.8,10.10)) __TVOS_UNAVAILABLE;
 /*** This property is obsolete. ***/
-@property (nonatomic, readonly, nullable, copy) NSString *receivingPlayerID NS_DEPRECATED(10_8, 10_10, 6_0, 8_0, " This property is obsolete, Use receivingPlayer instead") __TVOS_UNAVAILABLE;
+@property (nonatomic, readonly, nullable, copy) NSString *receivingPlayerID API_DEPRECATED_WITH_REPLACEMENT("-receivingPlayer:", ios(6.0,8.0), macos(10.8,10.10)) __TVOS_UNAVAILABLE;
 @end
 
 NS_CLASS_AVAILABLE(10_8, 6_0) __WATCHOS_PROHIBITED
 @interface GKScoreChallenge : GKChallenge
 
 /// The score to meet to satisfy this challenge
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
 @property (nonatomic, readonly, nullable, retain) GKScore *score;
+#pragma clang diagnostic pop
 @end
 
 NS_CLASS_AVAILABLE(10_8, 6_0) __WATCHOS_PROHIBITED
@@ -71,13 +69,13 @@
 @end
 
 
+#if !TARGET_OS_WATCH
 
 /// Use the following category methods to issue GKScoreChallenges and GKAchievementChallenges to an array of playerIDs. Players may not issue challenges to themselves nor to non-friends. Please see the GameKit reference documentation for further details on these methods.
-#if !TARGET_OS_WATCH
 @interface GKScore (GKChallenge)
 
 /// Use this alternative to reportScores:withCompletionHandler: to allow only certain specific challenges to be completed. Pass nil to avoid completing any challenges.
-+ (void)reportScores:(NSArray<GKScore *> *)scores withEligibleChallenges:(NSArray<GKChallenge *> *)challenges withCompletionHandler:(void(^ __nullable)(NSError * __nullable error))completionHandler NS_DEPRECATED(10_10, 11_0, 6_0, 14_0, "pass GKLeaderboardScore to reportLeaderboardScores:withEligibleChallenges:withCompletionHandler instead");
++ (void)reportScores:(NSArray<GKScore *> *)scores withEligibleChallenges:(NSArray<GKChallenge *> *)challenges withCompletionHandler:(void(^ __nullable)(NSError * __nullable error))completionHandler API_DEPRECATED_WITH_REPLACEMENT("-reportLeaderboardScores:withEligibleChallenges:withCompletionHandler", ios(6.0,14.0), macos(10.10,11.0));
 
 + (void)reportLeaderboardScores:(NSArray<GKLeaderboardScore *> *)scores withEligibleChallenges:(NSArray<GKChallenge *> *)challenges withCompletionHandler:(void(^ __nullable)(NSError * __nullable error))completionHandler NS_AVAILABLE(11_0, 14_0);
 
@@ -95,35 +93,25 @@
 
 @interface GKScore (GKChallengeObsoleted)
 /*** This method is obsolete. It will never be invoked and its implementation does nothing***/
-- (void)issueChallengeToPlayers:(nullable NSArray<NSString *> *)playerIDs message:(nullable NSString *)message NS_DEPRECATED(10_8, 10_10, 6_0, 7_0, "This is never invoked and its implementation does nothing, pass GKPlayers to challengeComposeControllerWithMessage:players:completionHandler: and present the view controller instead") __TVOS_UNAVAILABLE;
+- (void)issueChallengeToPlayers:(nullable NSArray<NSString *> *)playerIDs message:(nullable NSString *)message API_DEPRECATED_WITH_REPLACEMENT("-challengeComposeControllerWithMessage:players:completionHandler:", ios(6.0,7.0), macos(10.8,10.10)) __TVOS_UNAVAILABLE;
 @end
 
 @interface GKAchievement (GKChallengeObsoleted)
 /*** This method is obsolete. It will never be invoked and its implementation does nothing***/
-- (void)issueChallengeToPlayers:(nullable NSArray<NSString *> *)playerIDs message:(nullable NSString *)message NS_DEPRECATED(10_8, 10_10, 6_0, 7_0, "This is never invoked and its implementation does nothing, pass GKPlayers to challengeComposeControllerWithMessage:players:completionHandler: and present the view controller instead") __TVOS_UNAVAILABLE;
+- (void)issueChallengeToPlayers:(nullable NSArray<NSString *> *)playerIDs message:(nullable NSString *)message API_DEPRECATED_WITH_REPLACEMENT("-challengeComposeControllerWithMessage:players:completionHandler:", ios(6.0,7.0), macos(10.8,10.10)) __TVOS_UNAVAILABLE;
 
 /*** This method is obsolete. It will never be invoked and its implementation does nothing***/
-- (void)selectChallengeablePlayerIDs:(nullable NSArray<NSString *> *)playerIDs withCompletionHandler:(void(^__nullable)(NSArray<NSString *> * __nullable challengeablePlayerIDs, NSError * __nullable error))completionHandler NS_DEPRECATED(10_8, 10_10, 6_0, 8_0, "This is never invoked and its implementation does nothing, pass GKPlayers to selectChallengeablePlayers:") __TVOS_UNAVAILABLE;
+- (void)selectChallengeablePlayerIDs:(nullable NSArray<NSString *> *)playerIDs withCompletionHandler:(void(^__nullable)(NSArray<NSString *> * __nullable challengeablePlayerIDs, NSError * __nullable error))completionHandler API_DEPRECATED_WITH_REPLACEMENT("-selectChallengeablePlayers:", ios(6.0,8.0), macos(10.8,10.10)) __TVOS_UNAVAILABLE;
 @end
-#endif
 
-NS_ASSUME_NONNULL_END
-
-//
-//  GKChallenge+API+UI.h
-//  GameCenterUI
-//
-
-#import <GameKit/GKChallenge.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
 #if TARGET_OS_IPHONE
 @class UIViewController;
-typedef void (^GKChallengeComposeCompletionBlock)(UIViewController *composeController, BOOL didIssueChallenge, NSArray<NSString *> * __nullable sentPlayerIDs);
+typedef void (^GKChallengeComposeCompletionBlock)(UIViewController *composeController, BOOL didIssueChallenge, NSArray<NSString *> * __nullable sentPlayerIDs) API_DEPRECATED_WITH_REPLACEMENT("GKChallengeComposeHandler", ios(8.0, 17.0), tvos(9.0, 17.0));
+typedef void (^GKChallengeComposeHandler)(UIViewController *composeController, BOOL didIssueChallenge, NSArray<GKPlayer *> * __nullable sentPlayers) API_AVAILABLE(ios(17.0), tvos(17.0));
 #else
 @class NSViewController;
-typedef void (^GKChallengeComposeCompletionBlock)(NSViewController *composeController, BOOL didIssueChallenge, NSArray<NSString *> * __nullable sentPlayerIDs);
+typedef void (^GKChallengeComposeCompletionBlock)(NSViewController *composeController, BOOL didIssueChallenge, NSArray<NSString *> * __nullable sentPlayerIDs) API_DEPRECATED_WITH_REPLACEMENT("GKChallengeComposeHandler", macos(10.10, 14.0));
+typedef void (^GKChallengeComposeHandler)(NSViewController *composeController, BOOL didIssueChallenge, NSArray<GKPlayer *> * __nullable sentPlayers) API_AVAILABLE(macos(14.0));
 #endif
 
 
@@ -133,9 +121,11 @@
 
 // Return a challenge compose view controller with pre-selected GKPlayers and a preformatted, player-editable message. Once this view controller is displayed, and the player sends or cancels sending the challenge, the completion handler will be called. This block contains the view controller, the reason why the handler was called, as well as which (if any) GKPlayers the challenge was sent to. Present modally from the top view controller. The completion handler should dismiss the view controller.
 #if TARGET_OS_IPHONE
-- (UIViewController *)challengeComposeControllerWithMessage:(nullable NSString *)message players:(nullable NSArray<GKPlayer *> *)players completionHandler:(nullable GKChallengeComposeCompletionBlock)completionHandler NS_AVAILABLE_IOS(8_0);
+- (UIViewController *)challengeComposeControllerWithMessage:(nullable NSString *)message players:(nullable NSArray<GKPlayer *> *)players completionHandler:(nullable GKChallengeComposeCompletionBlock)completionHandler API_DEPRECATED_WITH_REPLACEMENT("-challengeComposeControllerWithMessage:players:completion:", ios(8.0, 17.0), tvos(9.0, 17.0));
+- (UIViewController *)challengeComposeControllerWithMessage:(nullable NSString *)message players:(nullable NSArray<GKPlayer *> *)players completion:(nullable GKChallengeComposeHandler)completionHandler API_AVAILABLE(ios(17.0), tvos(17.0));
 #else
-- (NSViewController *)challengeComposeControllerWithMessage:(nullable NSString *)message players:(nullable NSArray<GKPlayer *> *)players completionHandler:(nullable GKChallengeComposeCompletionBlock)completionHandler NS_AVAILABLE_MAC(10_10);
+- (NSViewController *)challengeComposeControllerWithMessage:(nullable NSString *)message players:(nullable NSArray<GKPlayer *> *)players completionHandler:(nullable GKChallengeComposeCompletionBlock)completionHandler API_DEPRECATED_WITH_REPLACEMENT("-challengeComposeControllerWithMessage:players:completion:", macos(10.10, 14.0));
+- (NSViewController *)challengeComposeControllerWithMessage:(nullable NSString *)message players:(nullable NSArray<GKPlayer *> *)players completion:(nullable GKChallengeComposeHandler)completionHandler API_AVAILABLE(macos(14.0));
 #endif
 
 @end
@@ -144,9 +134,11 @@
 
 // Return a challenge compose view controller with pre-selected GKPlayers and a preformatted, player-editable message. Once this view controller is displayed, and the player sends or cancels sending the challenge, the completion handler will be called. This block contains the view controller, the reason why the handler was called, as well as which (if any) GKPlayers the challenge was sent to. Present modally from the top view controller. The completion handler should dismiss the view controller.
 #if TARGET_OS_IPHONE
-- (UIViewController *)challengeComposeControllerWithMessage:(nullable NSString *)message players:(nullable NSArray<GKPlayer *> *)players completionHandler:(nullable GKChallengeComposeCompletionBlock)completionHandler API_AVAILABLE(ios(14.0), tvos(14.0), watchos(7.0));
+- (UIViewController *)challengeComposeControllerWithMessage:(nullable NSString *)message players:(nullable NSArray<GKPlayer *> *)players completionHandler:(nullable GKChallengeComposeCompletionBlock)completionHandler API_DEPRECATED_WITH_REPLACEMENT("-challengeComposeControllerWithMessage:players:completion:", ios(14.0, 17.0), tvos(14.0, 17.0));
+- (UIViewController *)challengeComposeControllerWithMessage:(nullable NSString *)message players:(nullable NSArray<GKPlayer *> *)players completion:(nullable GKChallengeComposeHandler)completionHandler API_AVAILABLE(ios(17.0), tvos(17.0));
 #else
-- (NSViewController *)challengeComposeControllerWithMessage:(nullable NSString *)message players:(nullable NSArray<GKPlayer *> *)players completionHandler:(nullable GKChallengeComposeCompletionBlock)completionHandler API_AVAILABLE(macos(11.0));
+- (NSViewController *)challengeComposeControllerWithMessage:(nullable NSString *)message players:(nullable NSArray<GKPlayer *> *)players completionHandler:(nullable GKChallengeComposeCompletionBlock)completionHandler API_DEPRECATED_WITH_REPLACEMENT("-challengeComposeControllerWithMessage:players:completion:", macos(11.0, 14.0));
+- (NSViewController *)challengeComposeControllerWithMessage:(nullable NSString *)message players:(nullable NSArray<GKPlayer *> *)players completion:(nullable GKChallengeComposeHandler)completionHandler API_AVAILABLE(macos(14.0));
 #endif
 
 @end
@@ -157,9 +149,11 @@
 
 // Return a challenge compose view controller with pre-selected GKPlayers and a preformatted, player-editable message. Once this view controller is displayed, and the player sends or cancels sending the challenge, the completion handler will be called. This block contains the view controller, the reason why the handler was called, as well as which (if any) GKPlayers the challenge was sent to. Present modally from the top view controller. The completion handler should dismiss the view controller.
 #if TARGET_OS_IPHONE
-- (UIViewController *)challengeComposeControllerWithMessage:(nullable NSString *)message players:(NSArray<GKPlayer *> *)players completionHandler:(__nullable GKChallengeComposeCompletionBlock)completionHandler NS_AVAILABLE_IOS(8_0);
+- (UIViewController *)challengeComposeControllerWithMessage:(nullable NSString *)message players:(NSArray<GKPlayer *> *)players completionHandler:(__nullable GKChallengeComposeCompletionBlock)completionHandler API_DEPRECATED_WITH_REPLACEMENT("-challengeComposeControllerWithMessage:players:completion:", ios(8.0, 17.0), tvos(9.0, 17.0));
+- (UIViewController *)challengeComposeControllerWithMessage:(nullable NSString *)message players:(NSArray<GKPlayer *> *)players completion:(__nullable GKChallengeComposeHandler)completionHandler API_AVAILABLE(ios(17.0), tvos(17.0));
 #else
-- (NSViewController *)challengeComposeControllerWithMessage:(nullable NSString *)message players:(NSArray<GKPlayer *> *)players completionHandler:(__nullable GKChallengeComposeCompletionBlock)completionHandler NS_AVAILABLE_MAC(10_10);
+- (NSViewController *)challengeComposeControllerWithMessage:(nullable NSString *)message players:(NSArray<GKPlayer *> *)players completionHandler:(__nullable GKChallengeComposeCompletionBlock)completionHandler API_DEPRECATED_WITH_REPLACEMENT("-challengeComposeControllerWithMessage:players:completion:", macos(10.10, 14.0));
+- (NSViewController *)challengeComposeControllerWithMessage:(nullable NSString *)message players:(NSArray<GKPlayer *> *)players completion:(__nullable GKChallengeComposeHandler)completionHandler API_AVAILABLE(macos(14.0));
 #endif
 
 @end
@@ -168,7 +162,7 @@
 
 #if TARGET_OS_IPHONE
 /*** This method is obsolete. Calling this method does nothing and will return nil ***/
-- (nullable UIViewController *)challengeComposeControllerWithPlayers:(nullable NSArray<NSString *> *)playerIDs message:(nullable NSString *)message completionHandler:(__nullable GKChallengeComposeCompletionBlock)completionHandler NS_DEPRECATED_IOS(7_0, 8_0, "This is never invoked and its implementation does nothing, pass GKPlayers to challengeComposeControllerWithMessage:players: instead") /*rb= GameKit.unavailableForTVOS*/;
+- (nullable UIViewController *)challengeComposeControllerWithPlayers:(nullable NSArray<NSString *> *)playerIDs message:(nullable NSString *)message completionHandler:(__nullable GKChallengeComposeCompletionBlock)completionHandler API_DEPRECATED_WITH_REPLACEMENT("-challengeComposeControllerWithMessage:players:completion:", ios(7.0, 8.0), tvos(9.0, 17.0));
 #endif
 
 @end
@@ -177,10 +171,11 @@
 
 #if TARGET_OS_IPHONE
 /*** This method is obsolete. Calling this method does nothing and will return nil ***/
-- (nullable UIViewController *)challengeComposeControllerWithPlayers:(nullable NSArray<NSString *> *)playerIDs message:(nullable NSString *)message completionHandler:(nullable GKChallengeComposeCompletionBlock)completionHandler NS_DEPRECATED_IOS(7_0, 8_0, "This is never invoked and its implementation does nothing, pass GKPlayers to challengeComposeControllerWithMessage:players: instead") /*rb= GameKit.unavailableForTVOS*/;
+- (nullable UIViewController *)challengeComposeControllerWithPlayers:(nullable NSArray<NSString *> *)playerIDs message:(nullable NSString *)message completionHandler:(nullable GKChallengeComposeCompletionBlock)completionHandler API_DEPRECATED_WITH_REPLACEMENT("-challengeComposeControllerWithMessage:players:completion:", ios(7.0, 8.0), tvos(9.0, 17.0));
 #endif
 
 @end
 
-NS_ASSUME_NONNULL_END
+#endif // TARGET_OS_WATCH
 
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKChallengeEventHandler.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKChallengeEventHandler.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKChallengeEventHandler.h	2023-03-09 19:15:07
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKChallengeEventHandler.h	2023-05-31 04:55:11
@@ -1,15 +1,11 @@
-//
-//  GKChallengeEventHandler.h
-//  Game Center
-//
-//  Copyright 2012-2023 Apple Inc. All rights reserved.
-//
+// Copyright © Apple Inc. All rights reserved.
 
+#import <TargetConditionals.h>
 #import <Foundation/Foundation.h>
 #import <GameKit/GKChallenge.h>
 
 /// GKChallengeEventHandler's delegate must implement the following protocol to be notified of challenge-related events. All of these methods are called on the main thread.
-NS_DEPRECATED(10_8, 10_10, 6_0, 7_0, "You should instead implement the GKChallengeListener protocol and register a listener with GKLocalPlayer.") __WATCHOS_PROHIBITED __TVOS_UNAVAILABLE
+API_DEPRECATED("You should instead implement the GKChallengeListener protocol and register a listener with GKLocalPlayer.", ios(6.0,7.0), macos(10.8,10.10)) __WATCHOS_PROHIBITED API_UNAVAILABLE(tvos)
 @protocol GKChallengeEventHandlerDelegate <NSObject>
 
 @optional
@@ -38,8 +34,7 @@
 @end
 
 #if !TARGET_OS_WATCH
-
-NS_CLASS_DEPRECATED(10_8, 10_10, 6_0, 7_0, "You should instead implement the GKChallengeListener protocol and register a listener with GKLocalPlayer.") __TVOS_UNAVAILABLE
+API_DEPRECATED("You should instead implement the GKChallengeListener protocol and register a listener with GKLocalPlayer.", ios(6.0,7.0), macos(10.8,10.10)) API_UNAVAILABLE(tvos)
 /// A singleton object responsible for dispatching challenge-related events to its delegate
 @interface GKChallengeEventHandler : NSObject
 
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKChallengesViewController.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKChallengesViewController.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKChallengesViewController.h	1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKChallengesViewController.h	2023-05-31 04:55:11
@@ -0,0 +1,32 @@
+// Copyright © Apple Inc. All rights reserved.
+
+#import <TargetConditionals.h>
+
+#if !TARGET_OS_IPHONE
+
+#import <GameKit/GKGameCenterViewController.h>
+
+@protocol GKChallengesViewControllerDelegate;
+
+// View controller that provides the standard user interface for challenges. Present modally from the top view controller.
+#import <GameKit/GKDialogController.h>
+NS_DEPRECATED_MAC(10_8, 10_10)
+@interface GKChallengesViewController : NSViewController <GKViewController> {
+	id _internal1,_internal2,_internal3,_internal4;
+}
+@property (weak, NS_NONATOMIC_IOSONLY) id<GKChallengesViewControllerDelegate> challengeDelegate;
+@end
+
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+
+// Optional delegate
+@protocol GKChallengesViewControllerDelegate
+@required
+// The challenge view has finished
+- (void)challengesViewControllerDidFinish:(GKChallengesViewController *)viewController;
+@end
+#pragma clang diagnostic pop
+
+#endif
+
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKCloudPlayer.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKCloudPlayer.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKCloudPlayer.h	2023-03-09 19:15:06
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKCloudPlayer.h	2023-05-31 04:55:11
@@ -1,14 +1,9 @@
-//
-//  GKCloudPlayer.h
-//  Game Center
-//
-//  Copyright 2016-2023 Apple Inc. All rights reserved.
-//
+// Copyright © Apple Inc. All rights reserved.
 
 #import <GameKit/GKBasePlayer.h>
 NS_ASSUME_NONNULL_BEGIN
 
-API_DEPRECATED("GKGameSession is deprecated. Use GKPlayer for both real-time and turn-based matchmaking APIs.", ios(10.0, 12.0), tvos(10.0, 12.0), macosx(10.12, 10.14)) API_UNAVAILABLE(watchos)
+API_DEPRECATED_WITH_REPLACEMENT("GKPlayer", ios(10.0, 12.0), tvos(10.0, 12.0), macosx(10.12, 10.14)) API_UNAVAILABLE(watchos)
 @interface GKCloudPlayer : GKBasePlayer
 #if !__OBJC2__
 {
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKDefines.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKDefines.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKDefines.h	2023-03-09 19:15:05
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKDefines.h	2023-05-31 04:55:09
@@ -1,10 +1,7 @@
-//
-//  GKDefines.h
-//  Game Center
-//
-//  Copyright 2010-2023 Apple Inc. All rights reserved.
-//
+// Copyright © Apple Inc. All rights reserved.
 
+#import <Foundation/Foundation.h>
+
 #ifndef GK_EXTERN
 #ifdef __cplusplus
 #define GK_EXTERN   extern "C" __attribute__((visibility ("default")))
@@ -17,20 +14,3 @@
 #define GK_EXTERN_WEAK  GK_EXTERN __attribute__((weak_import))
 #endif
 
-#if !defined(__GK_HAS_COMPILER_ATTRIBUTE)
-# if defined(__has_attribute)
-#  define __GK_HAS_COMPILER_ATTRIBUTE(attribute) __has_attribute(attribute)
-# elif defined(__GNUC__) && __GNUC__ >= 4
-#  define __GK_HAS_COMPILER_ATTRIBUTE(attribute) (1)
-# else
-#  define __GK_HAS_COMPILER_ATTRIBUTE(attribute) (0)
-# endif
-#endif
-
-#if !defined(GK_API_DEPRECATED)
-# if __GK_HAS_COMPILER_ATTRIBUTE(deprecated) && !defined(GK_BUILDING_GK)
-#  define GK_API_DEPRECATED(...) API_DEPRECATED(__VA_ARGS__)
-# else
-#  define GK_API_DEPRECATED(...)
-# endif
-#endif
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKDialogController.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKDialogController.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKDialogController.h	1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKDialogController.h	2023-05-31 04:55:10
@@ -0,0 +1,32 @@
+// Copyright © Apple Inc. All rights reserved.
+
+#import <TargetConditionals.h>
+
+#if TARGET_OS_OSX
+#ifndef GKDialogController_h
+#define GKDialogController_h
+
+#import <Cocoa/Cocoa.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@protocol GKViewController
+@end
+
+@interface GKDialogController : NSResponder
+
+@property (weak, nullable) IBOutlet NSWindow *parentWindow;
+
+- (BOOL)presentViewController:(NSViewController<GKViewController>  *)viewController;
+- (IBAction)dismiss:(id)sender;
+
+@end
+
+@interface GKDialogController (SharedDialogController)
++ (GKDialogController *)sharedDialogController;
+@end
+
+NS_ASSUME_NONNULL_END
+
+#endif
+#endif
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKError.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKError.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKError.h	2023-03-04 16:25:24
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKError.h	2023-05-31 04:55:09
@@ -1,9 +1,4 @@
-//
-//  GKError.h
-//  Game Center
-//
-//  Copyright 2010-2023 Apple Inc. All rights reserved.
-//
+// Copyright © Apple Inc. All rights reserved.
 
 #import <Foundation/Foundation.h>
 #import <GameKit/GKDefines.h>
@@ -45,7 +40,7 @@
     GKErrorNotAuthorized                        = 32,
     GKErrorConnectionTimeout                    = 33,
     GKErrorAPIObsolete                          = 34,
-
+    
     GKErrorFriendListDescriptionMissing         = 100,
     GKErrorFriendListRestricted                 = 101,
     GKErrorFriendListDenied                     = 102,
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKEventListener.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKEventListener.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKEventListener.h	2023-03-09 19:15:07
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKEventListener.h	2023-05-31 04:55:11
@@ -1,9 +1,4 @@
-//
-//  GKEventListener.h
-//  Game Center
-//
-//  Copyright 2012-2023 Apple Inc. All rights reserved.
-//
+// Copyright © Apple Inc. All rights reserved.
 
 #import <Foundation/Foundation.h>
 
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKFriendRequestComposeViewController.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKFriendRequestComposeViewController.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKFriendRequestComposeViewController.h	2023-03-09 19:15:05
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKFriendRequestComposeViewController.h	2023-05-31 04:55:10
@@ -1,12 +1,9 @@
-//
-//  GKFriendRequestComposeViewController.h
-//  Game Center
-//
-//  Copyright 2010-2023 Apple Inc. All rights reserved.
-//
+// Copyright © Apple Inc. All rights reserved.
 
 #import <TargetConditionals.h>
 
+#if !TARGET_OS_WATCH
+
 #if TARGET_OS_IPHONE || TARGET_OS_MACCATALYST
 #import <UIKit/UIKit.h>
 #else
@@ -21,7 +18,7 @@
 #if TARGET_OS_IPHONE || TARGET_OS_MACCATALYST
 NS_ASSUME_NONNULL_BEGIN
 
-NS_CLASS_DEPRECATED(10_8, 10_12, 4_2, 10_0) __TVOS_UNAVAILABLE
+NS_CLASS_DEPRECATED(10_8, 10_12, 4_2, 10_0) API_UNAVAILABLE(tvos)
 @interface GKFriendRequestComposeViewController : UINavigationController
 @end
 #else
@@ -44,17 +41,19 @@
 /// If you don't specify at least one recipient before presenting the view, the recipients field will be made firstResponder, to encourage the user to add some.
 /// If you add more than maxNumberOfRecipients recipients, these methods will throw an exception.
 - (void)addRecipientPlayers:(NSArray<GKPlayer *> *)players NS_AVAILABLE(10_10, 8_0);
-- (void)addRecipientsWithPlayerIDs:(NSArray<NSString *> *)playerIDs NS_DEPRECATED(10_8, 10_10, 4_2, 8_0, "use addRecipientPlayers:") __TVOS_UNAVAILABLE;
+- (void)addRecipientsWithPlayerIDs:(NSArray<NSString *> *)playerIDs API_DEPRECATED_WITH_REPLACEMENT("-addRecipientPlayers:", ios(4.2,8.0), macos(10.8,10.10)) __TVOS_UNAVAILABLE;
 - (void)addRecipientsWithEmailAddresses:(NSArray<NSString *> *)emailAddresses;
 
-@property (nonatomic, weak, nullable) id<GKFriendRequestComposeViewControllerDelegate> composeViewDelegate NS_DEPRECATED(10_8, 10_12, 4_2, 10_0) __TVOS_UNAVAILABLE;
+@property (nonatomic, weak, nullable) id<GKFriendRequestComposeViewControllerDelegate> composeViewDelegate NS_DEPRECATED(10_8, 10_12, 4_2, 10_0) API_UNAVAILABLE(tvos);
 @end
 
 /// Optional delegate
-NS_DEPRECATED(10_8, 10_12, 4_2, 10_0) __TVOS_UNAVAILABLE
+NS_DEPRECATED(10_8, 10_12, 4_2, 10_0) API_UNAVAILABLE(tvos)
 @protocol GKFriendRequestComposeViewControllerDelegate
 /// The compose view has finished
-- (void)friendRequestComposeViewControllerDidFinish:(GKFriendRequestComposeViewController *)viewController NS_DEPRECATED(10_8, 10_12, 4_2, 10_0) __TVOS_UNAVAILABLE;
+- (void)friendRequestComposeViewControllerDidFinish:(GKFriendRequestComposeViewController *)viewController NS_DEPRECATED(10_8, 10_12, 4_2, 10_0) API_UNAVAILABLE(tvos);
 @end
 
 NS_ASSUME_NONNULL_END
+
+#endif
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKGameCenterViewController.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKGameCenterViewController.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKGameCenterViewController.h	2023-03-09 19:15:05
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKGameCenterViewController.h	2023-05-31 04:55:10
@@ -1,10 +1,9 @@
-//
-//  GKGameCenterViewController.h
-//  Game Center
-//
-//  Copyright 2012-2023 Apple Inc. All rights reserved.
-//
+// Copyright © Apple Inc. All rights reserved.
 
+#import <TargetConditionals.h>
+
+#if !TARGET_OS_WATCH
+
 #import <GameKit/GKLeaderboard.h>
 #import <GameKit/GKAchievement.h>
 
@@ -67,10 +66,10 @@
 
 @interface GKGameCenterViewController (Deprecated)
 
-@property (assign, NS_NONATOMIC_IOSONLY) GKGameCenterViewControllerState viewState API_DEPRECATED("Use -initWithState: instead", ios(6.0, 14.0), tvos(9.0, 14.0), macosx(10.9, 11.0)) __TVOS_UNAVAILABLE;
-@property (nonatomic, assign) GKLeaderboardTimeScope leaderboardTimeScope API_DEPRECATED("Use -initWithLeaderboard: instead", ios(4.1, 14.0), macosx(10.8, 11.0))  __TVOS_UNAVAILABLE;
-@property (nonatomic, nullable, strong) NSString *leaderboardIdentifier API_DEPRECATED("Use -initWithLeaderboard: instead", ios(7.0, 14.0), tvos(9.0, 14.0), macosx(10.10, 11.0)) __TVOS_UNAVAILABLE;
-@property (nonatomic, nullable, strong) NSString *leaderboardCategory    NS_DEPRECATED(10_8, 10_10, 4_1, 7_0, "GKGameCenterViewController's leaderboardCategory property is deprecated. Use -initWithLeaderboard: instead") __TVOS_UNAVAILABLE;
+@property (assign, NS_NONATOMIC_IOSONLY) GKGameCenterViewControllerState viewState API_DEPRECATED_WITH_REPLACEMENT("-initWithState:", ios(6.0, 14.0), tvos(9.0, 14.0), macosx(10.9, 11.0));
+@property (nonatomic, assign) GKLeaderboardTimeScope leaderboardTimeScope API_DEPRECATED_WITH_REPLACEMENT("-initWithLeaderboard:", ios(4.1, 14.0), macosx(10.8, 11.0)) __TVOS_UNAVAILABLE;
+@property (nonatomic, nullable, strong) NSString *leaderboardIdentifier API_DEPRECATED_WITH_REPLACEMENT("-initWithLeaderboard:", ios(7.0, 14.0), tvos(9.0, 14.0), macosx(10.10, 11.0));
+@property (nonatomic, nullable, strong) NSString *leaderboardCategory API_DEPRECATED_WITH_REPLACEMENT("-initWithLeaderboard:", ios(4.1,7.0), macos(10.8,10.10)) __TVOS_UNAVAILABLE;
 
 @end
 
@@ -81,3 +80,5 @@
 @end
 
 NS_ASSUME_NONNULL_END
+
+#endif
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKGameSession.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKGameSession.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKGameSession.h	2023-03-09 19:10:08
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKGameSession.h	2023-05-31 04:55:10
@@ -1,9 +1,4 @@
-//
-//  GKGameSession.h
-//  Game Center
-//
-//  Copyright 2016-2023 Apple Inc. All rights reserved.
-//
+// Copyright © Apple Inc. All rights reserved.
 
 #import <Foundation/Foundation.h>
 #import <GameKit/GKDefines.h>
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKGameSessionError.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKGameSessionError.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKGameSessionError.h	2023-03-09 19:15:05
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKGameSessionError.h	2023-05-31 04:55:10
@@ -1,13 +1,10 @@
-//
-//  GKGameSessionError.h
-//  Game Center
-//
-//  Copyright 2016-2023 Apple Inc. All rights reserved.
-//
+// Copyright © Apple Inc. All rights reserved.
 
 #import <Foundation/Foundation.h>
 
-extern NSString * __nonnull GKGameSessionErrorDomain API_DEPRECATED("GKGameSession is deprecated, use real-time and turn-based matchmaking APIs instead.", ios(10.0, 12.0), tvos(10.0, 12.0), macosx(10.12, 10.14)) API_UNAVAILABLE(watchos);
+#import <GameKit/GKDefines.h>
+
+GK_EXTERN NSString * __nonnull GKGameSessionErrorDomain API_DEPRECATED("GKGameSession is deprecated, use real-time and turn-based matchmaking APIs instead.", ios(10.0, 12.0), tvos(10.0, 12.0), macosx(10.12, 10.14)) API_UNAVAILABLE(watchos);
 
 typedef  NS_ENUM(NSInteger, GKGameSessionErrorCode) {
     GKGameSessionErrorUnknown = 1,
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKGameSessionEventListener.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKGameSessionEventListener.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKGameSessionEventListener.h	2023-03-09 19:15:06
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKGameSessionEventListener.h	2023-05-31 04:55:11
@@ -1,14 +1,10 @@
-//
-//  GKGameSessionEventListener.h
-//  Game Center
-//
-//  Copyright 2016-2023 Apple Inc. All rights reserved.
-//
+// Copyright © Apple Inc. All rights reserved.
 
-#import "GKGameSession.h"
+#import <GameKit/GKGameSession.h>
+
 NS_ASSUME_NONNULL_BEGIN
 
-API_DEPRECATED("Use GKLocalPlayerListener for multiplayer event notifications.", ios(10.0, 12.0), tvos(10.0, 12.0), macosx(10.12, 10.14)) API_UNAVAILABLE(watchos)
+API_DEPRECATED_WITH_REPLACEMENT("GKLocalPlayerListener", ios(10.0, 12.0), tvos(10.0, 12.0), macosx(10.12, 10.14)) API_UNAVAILABLE(watchos)
 @protocol GKGameSessionEventListener <NSObject>
 @optional
 - (void)session:(GKGameSession *)session didAddPlayer:(GKCloudPlayer *)player;
@@ -21,8 +17,8 @@
 @end
 
 @interface GKGameSession (GKGameSessionEventListener)
-+ (void)addEventListener:(NSObject<GKGameSessionEventListener> *)listener NS_SWIFT_NAME(add(listener:)) API_DEPRECATED("Use GKLocalPlayer's registerListener: to register for GKLocalPlayerListener event notifications.", ios(10.0, 12.0), tvos(10.0, 12.0), macosx(10.12, 10.14)) API_UNAVAILABLE(watchos);
-+ (void)removeEventListener:(NSObject<GKGameSessionEventListener> *)listener NS_SWIFT_NAME(remove(listener:)) API_DEPRECATED("Use GKLocalPlayer's unregisterListener: or unregisterAllListeners to unregister from GKLocalPlayerListener event notifications.", ios(10.0, 12.0), tvos(10.0, 12.0), macosx(10.12, 10.14)) API_UNAVAILABLE(watchos);
++ (void)addEventListener:(NSObject<GKGameSessionEventListener> *)listener NS_SWIFT_NAME(add(listener:)) API_DEPRECATED_WITH_REPLACEMENT("-[GKLocalPlayer registerListener:]", ios(10.0, 12.0), tvos(10.0, 12.0), macosx(10.12, 10.14)) API_UNAVAILABLE(watchos);
++ (void)removeEventListener:(NSObject<GKGameSessionEventListener> *)listener NS_SWIFT_NAME(remove(listener:)) API_DEPRECATED("-[GKLocalPlayer unregisterListener:] or -[GKLocalPlayer unregisterAllListeners:]", ios(10.0, 12.0), tvos(10.0, 12.0), macosx(10.12, 10.14)) API_UNAVAILABLE(watchos);
 @end
 
 NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKGameSessionSharingViewController.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKGameSessionSharingViewController.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKGameSessionSharingViewController.h	2023-03-09 19:15:06
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKGameSessionSharingViewController.h	2023-05-31 04:55:11
@@ -1,10 +1,6 @@
-//
-//  GKGameSessionSharingViewController.h
-//  Game Center
-//
-//  Copyright 2016-2023 Apple Inc. All rights reserved.
-//
+// Copyright © Apple Inc. All rights reserved.
 
+#import <TargetConditionals.h>
 #import <Foundation/Foundation.h>
 
 #if TARGET_OS_TV
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKLeaderboard.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKLeaderboard.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKLeaderboard.h	2023-03-09 19:15:06
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKLeaderboard.h	2023-05-31 04:15:21
@@ -1,10 +1,6 @@
-//
-//  GKLeaderboard.h
-//  Game Center
-//
-//  Copyright 2010-2023 Apple Inc. All rights reserved.
-//
+// Copyright © Apple Inc. All rights reserved.
 
+#import <TargetConditionals.h>
 #import <os/lock.h>
 #import <GameKit/GKPlayer.h>
 
@@ -121,61 +117,62 @@
 
 @interface GKLeaderboard (Deprecated)
 
-@property(copy, nullable, NS_NONATOMIC_IOSONLY) NSString *category NS_DEPRECATED(10_8, 10_10, 4_1, 7_0, "Use identifier instead") __TVOS_UNAVAILABLE; // Deprecated. Use identifier instead.
+@property(copy, nullable, NS_NONATOMIC_IOSONLY) NSString *category API_DEPRECATED_WITH_REPLACEMENT("-identifier", ios(4.1,7.0), macos(10.8,10.10)) __TVOS_UNAVAILABLE;
 
-- (nullable instancetype)initWithPlayerIDs:(nullable NSArray<NSString *> *)playerIDs NS_DEPRECATED(10_8, 10_10, 4_1, 8_0, "Use initWithPlayers: instead") __TVOS_UNAVAILABLE;
+- (nullable instancetype)initWithPlayerIDs:(nullable NSArray<NSString *> *)playerIDs API_DEPRECATED_WITH_REPLACEMENT("-initWithPlayers:", ios(4.1,8.0), macos(10.8,10.10)) __TVOS_UNAVAILABLE;
 
-+ (void)loadCategoriesWithCompletionHandler:(void(^__nullable)(NSArray<NSString *> * __nullable categories, NSArray<NSString *> * __nullable titles, NSError * __nullable error))completionHandler NS_DEPRECATED(10_8, 10_9, 4_1, 6_0, "Use loadLeaderboardsWithIDs:completionHandler: instead") __TVOS_UNAVAILABLE;
++ (void)loadCategoriesWithCompletionHandler:(void(^__nullable)(NSArray<NSString *> * __nullable categories, NSArray<NSString *> * __nullable titles, NSError * __nullable error))completionHandler API_DEPRECATED_WITH_REPLACEMENT("-loadLeaderboardsWithIDs:completionHandler:", ios(4.1,6.0), macos(10.8,10.9)) __TVOS_UNAVAILABLE;
 
-+ (void)setDefaultLeaderboard:(nullable NSString *)leaderboardIdentifier withCompletionHandler:(void(^__nullable)(NSError * __nullable error))completionHandler NS_DEPRECATED(10_8, 10_10, 5_0, 7_0,"Use setDefaultLeaderboardIdentifier:completionHandler: on GKLocalPlayer instead") __TVOS_UNAVAILABLE;
++ (void)setDefaultLeaderboard:(nullable NSString *)leaderboardIdentifier withCompletionHandler:(void(^__nullable)(NSError * __nullable error))completionHandler API_DEPRECATED_WITH_REPLACEMENT("-setDefaultLeaderboardIdentifier:completionHandler:", ios(5.0,7.0), macos(10.8,10.10)) __TVOS_UNAVAILABLE;
 
-@property(assign, NS_NONATOMIC_IOSONLY) GKLeaderboardTimeScope timeScope API_DEPRECATED("Use loadEntriesForPlayerScope:timeScope:range:completionHandler: instead.", ios(4.0, 14.0), tvos(9.0, 14.0), macosx(10.8, 11.0), watchos(3.0, 7.0));
+@property(assign, NS_NONATOMIC_IOSONLY) GKLeaderboardTimeScope timeScope API_DEPRECATED_WITH_REPLACEMENT("-loadEntriesForPlayerScope:timeScope:range:completionHandler:", ios(4.0, 14.0), tvos(9.0, 14.0), macosx(10.8, 11.0), watchos(3.0, 7.0));
 
 /// Filter on friends. Does not apply to leaderboard initialized with players.
-@property(assign, NS_NONATOMIC_IOSONLY) GKLeaderboardPlayerScope playerScope API_DEPRECATED("Use loadEntriesForPlayerScope:timeScope:range:completionHandler: instead.", ios(4.0, 14.0), tvos(9.0, 14.0), macosx(10.8, 11.0), watchos(3.0, 7.0));
+@property(assign, NS_NONATOMIC_IOSONLY) GKLeaderboardPlayerScope playerScope API_DEPRECATED_WITH_REPLACEMENT("-loadEntriesForPlayerScope:timeScope:range:completionHandler:", ios(4.0, 14.0), tvos(9.0, 14.0), macosx(10.8, 11.0), watchos(3.0, 7.0));
 
 /// leaderboardID. If nil, fetch the aggregate leaderboard.
-@property(copy, nullable, NS_NONATOMIC_IOSONLY) NSString *identifier API_DEPRECATED("Use loadEntriesForPlayerScope:timeScope:range:completionHandler: instead.", ios(7.0, 14.0), tvos(9.0, 14.0), macosx(10.10, 11.0), watchos(2.0, 7.0));
+@property(copy, nullable, NS_NONATOMIC_IOSONLY) NSString *identifier API_DEPRECATED_WITH_REPLACEMENT("-loadEntriesForPlayerScope:timeScope:range:completionHandler:", ios(7.0, 14.0), tvos(9.0, 14.0), macosx(10.10, 11.0), watchos(2.0, 7.0));
 
 /// Leaderboards start at index 1 and the length should be less than 100. Does not apply to leaderboards initialized with players.  Exception will be thrown if developer tries to set an invalid range.
-@property(assign, NS_NONATOMIC_IOSONLY) NSRange range API_DEPRECATED("Use loadEntriesForPlayerScope:timeScope:range:completionHandler: instead.", ios(4.0, 14.0), tvos(9.0, 14.0), macosx(10.8, 11.0), watchos(3.0, 7.0));
+@property(assign, NS_NONATOMIC_IOSONLY) NSRange range API_DEPRECATED_WITH_REPLACEMENT("-loadEntriesForPlayerScope:timeScope:range:completionHandler:", ios(4.0, 14.0), tvos(9.0, 14.0), macosx(10.8, 11.0), watchos(3.0, 7.0));
 
 /// Scores are not valid until loadScores: has completed.
-@property(readonly, strong, nullable, NS_NONATOMIC_IOSONLY) NSArray<GKScore *> *scores API_DEPRECATED("Use loadEntriesForPlayerScope:timeScope:range:completionHandler: to obtain scores.", ios(4.0, 14.0), tvos(9.0, 14.0), macosx(10.8, 11.0), watchos(3.0, 7.0));
+@property(readonly, strong, nullable, NS_NONATOMIC_IOSONLY) NSArray<GKScore *> *scores API_DEPRECATED_WITH_REPLACEMENT("-loadEntriesForPlayerScope:timeScope:range:completionHandler:", ios(4.0, 14.0), tvos(9.0, 14.0), macosx(10.8, 11.0), watchos(3.0, 7.0));
 
 /// The maxRange which represents the size of the leaderboard is not valid until loadScores: has completed.
-@property(readonly, assign, NS_NONATOMIC_IOSONLY) NSUInteger maxRange API_DEPRECATED("Use loadEntriesForPlayerScope:timeScope:range:completionHandler: method to obtain the size of the leaderboard.", ios(4.0, 14.0), tvos(9.0, 14.0), macosx(10.8, 11.0), watchos(3.0, 7.0));
+@property(readonly, assign, NS_NONATOMIC_IOSONLY) NSUInteger maxRange API_DEPRECATED_WITH_REPLACEMENT("-loadEntriesForPlayerScope:timeScope:range:completionHandler:", ios(4.0, 14.0), tvos(9.0, 14.0), macosx(10.8, 11.0), watchos(3.0, 7.0));
 
 /// The local player's score
-@property(readonly, strong, nullable, NS_NONATOMIC_IOSONLY) GKScore *localPlayerScore API_DEPRECATED("Use loadEntriesForPlayerScope:timeScope:range:completionHandler: method to obtain scores.", ios(4.0, 14.0), tvos(9.0, 14.0), macosx(10.8, 11.0), watchos(3.0, 7.0));
+@property(readonly, strong, nullable, NS_NONATOMIC_IOSONLY) GKScore *localPlayerScore API_DEPRECATED_WITH_REPLACEMENT("-loadEntriesForPlayerScope:timeScope:range:completionHandler:", ios(4.0, 14.0), tvos(9.0, 14.0), macosx(10.8, 11.0), watchos(3.0, 7.0));
 
 /// This property is true if the leaderboard is currently loading
-@property(readonly, getter=isLoading) BOOL loading API_DEPRECATED("Use loadEntriesForPlayerScope:timeScope:range:completionHandler: method to obtain scores.", ios(4.1, 14.0), tvos(9.0, 14.0), macosx(10.8, 11.0), watchos(3.0, 7.0));
+@property(readonly, getter=isLoading) BOOL loading API_DEPRECATED_WITH_REPLACEMENT("-loadEntriesForPlayerScope:timeScope:range:completionHandler:", ios(4.1, 14.0), tvos(9.0, 14.0), macosx(10.8, 11.0), watchos(3.0, 7.0));
 
 /// Default is the range 1-10 with Global/AllTime scopes.
 /// If you want to change the scopes or range, set the properites before loading the scores.
-- (instancetype)init API_DEPRECATED("Do not instantiate GKLeaderboard directly. Use class method loadLeaderboardsWithIDs:completionHandler: to get the leaderboards.", ios(4.0, 14.0), tvos(9.0, 14.0), macosx(10.8, 11.0), watchos(3.0, 7.0));
+- (instancetype)init API_DEPRECATED_WITH_REPLACEMENT("+loadLeaderboardsWithIDs:completionHandler:", ios(4.0, 14.0), tvos(9.0, 14.0), macosx(10.8, 11.0), watchos(3.0, 7.0));
 
 /// Specify an array of GKPlayers. For example, the players who are in a match together
 /// Defaults to AllTime score, if you want to change the timeScope, set the property before loading the scores. Range and playerScope are not applicable. players may not be nil.
-- (instancetype)initWithPlayers:(NSArray<GKPlayer *> *)players API_DEPRECATED("Use instance method loadEntriesForPlayers:timeScope:completionHandler: instead.", ios(8.0, 14.0), tvos(9.0, 14.0), macosx(10.10, 11.0), watchos(2.0, 7.0));
+- (instancetype)initWithPlayers:(NSArray<GKPlayer *> *)players API_DEPRECATED_WITH_REPLACEMENT("+loadEntriesForPlayers:timeScope:completionHandler:", ios(8.0, 14.0), tvos(9.0, 14.0), macosx(10.10, 11.0), watchos(2.0, 7.0));
 
 /// Load the scores for this leader board asynchronously. Error will be nil on success.
 /// Possible reasons for error:
 /// 1. Communications problem
 /// 2. Unauthenticated player
-- (void)loadScoresWithCompletionHandler:(void(^__nullable)(NSArray<GKScore *> * __nullable scores, NSError * __nullable error))completionHandler API_DEPRECATED("Use loadEntriesForPlayerScope:timeScope:range:completionHandler:.", ios(4.0, 14.0), tvos(9.0, 14.0), macosx(10.8, 11.0), watchos(3.0, 7.0)) NS_SWIFT_DISABLE_ASYNC;
+- (void)loadScoresWithCompletionHandler:(void(^__nullable)(NSArray<GKScore *> * __nullable scores, NSError * __nullable error))completionHandler API_DEPRECATED_WITH_REPLACEMENT("-loadEntriesForPlayerScope:timeScope:range:completionHandler:", ios(4.0, 14.0), tvos(9.0, 14.0), macosx(10.8, 11.0), watchos(3.0, 7.0)) NS_SWIFT_DISABLE_ASYNC;
 
 /// Loads the array of GKLeaderboard for your app
 /// Possible reasons for error:
 /// 1. Communications problem
 /// 2. Unauthenticated player
 /// 3. Leaderboard not present
-+ (void)loadLeaderboardsWithCompletionHandler:(void(^__nullable)(NSArray<GKLeaderboard *> * __nullable leaderboards, NSError * __nullable error))completionHandler  API_DEPRECATED("Use class method loadLeaderboardsWithIDs:completionHandler:", ios(6.0, 14.0), tvos(9.0, 14.0), macosx(10.8, 11.0), watchos(2.0, 7.0));
++ (void)loadLeaderboardsWithCompletionHandler:(void(^__nullable)(NSArray<GKLeaderboard *> * __nullable leaderboards, NSError * __nullable error))completionHandler  API_DEPRECATED_WITH_REPLACEMENT("+loadLeaderboardsWithIDs:completionHandler:", ios(6.0, 14.0), tvos(9.0, 14.0), macosx(10.8, 11.0), watchos(2.0, 7.0));
 
 @end
 NS_ASSUME_NONNULL_END
 
+#if !TARGET_OS_WATCH
 
 @interface GKLeaderboard (UI)
  
@@ -187,5 +184,5 @@
 #endif
 
 @end
- 
 
+#endif
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKLeaderboardEntry.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKLeaderboardEntry.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKLeaderboardEntry.h	2023-03-09 19:15:07
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKLeaderboardEntry.h	2023-05-31 04:55:11
@@ -1,9 +1,4 @@
-//
-//  GKLeaderboardEntry.h
-//  Game Center
-//
-//  Copyright 2018-2023 Apple Inc. All rights reserved.
-//
+// Copyright © Apple Inc. All rights reserved.
 
 
 NS_ASSUME_NONNULL_BEGIN
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKLeaderboardScore.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKLeaderboardScore.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKLeaderboardScore.h	2023-03-09 19:15:06
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKLeaderboardScore.h	2023-05-31 04:55:11
@@ -1,9 +1,4 @@
-//
-//  GKLeaderboardScore.h
-//  Game Center
-//
-//  Copyright 2020-2023 Apple Inc. All rights reserved.
-//
+// Copyright © Apple Inc. All rights reserved.
 
 NS_ASSUME_NONNULL_BEGIN
 
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKLeaderboardSet.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKLeaderboardSet.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKLeaderboardSet.h	2023-03-09 19:15:07
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKLeaderboardSet.h	2023-05-31 04:55:11
@@ -1,13 +1,8 @@
-//
-//  GKLeaderboardSet.h
-//  Game Center
-//
-//  Copyright 2012-2023 Apple Inc. All rights reserved.
-//
+// Copyright © Apple Inc. All rights reserved.
 
+#import <TargetConditionals.h>
 #import <GameKit/GKDefines.h>
 
-
 @class GKLeaderboard;
 @class UIImage;
 
@@ -47,12 +42,12 @@
 /// Possible reasons for error:
 /// 1. Communications problem
 /// 2. Unauthenticated player
-- (void)loadLeaderboardsWithCompletionHandler:(void(^__nullable)(NSArray<GKLeaderboard *> * __nullable leaderboards, NSError * __nullable error))completionHandler API_DEPRECATED("Use loadLeaderboardsWithHandler: instead.", ios(7.0, 14.0), tvos(9.0, 14.0), macosx(10.10, 11.0), watchos(3.0, 7.0));
+- (void)loadLeaderboardsWithCompletionHandler:(void(^__nullable)(NSArray<GKLeaderboard *> * __nullable leaderboards, NSError * __nullable error))completionHandler API_DEPRECATED_WITH_REPLACEMENT("-loadLeaderboardsWithHandler:.", ios(7.0, 14.0), tvos(9.0, 14.0), macosx(10.10, 11.0), watchos(3.0, 7.0));
 
 @end
 NS_ASSUME_NONNULL_END
 
-#import <GameKit/GKLeaderboardSet.h>
+#if !TARGET_OS_WATCH
 
 @interface GKLeaderboardSet (UI)
 
@@ -65,5 +60,4 @@
 
 @end
 
-
-
+#endif
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKLeaderboardViewController.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKLeaderboardViewController.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKLeaderboardViewController.h	1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKLeaderboardViewController.h	2023-05-31 04:55:10
@@ -0,0 +1,37 @@
+// Copyright © Apple Inc. All rights reserved.
+
+#import <TargetConditionals.h>
+
+#if !TARGET_OS_TV && !TARGET_OS_WATCH
+
+#import <GameKit/GKLeaderboard.h>
+#import <GameKit/GKGameCenterViewController.h>
+
+@protocol GKLeaderboardViewControllerDelegate;
+
+/// View controller that provides the standard user interface for leaderboards.  Present modally from the top view controller.
+API_DEPRECATED_WITH_REPLACEMENT("GKGameCenterViewController", ios(4.1,7.0), macos(10.8,10.10)) __TVOS_UNAVAILABLE
+@interface GKLeaderboardViewController : GKGameCenterViewController
+#if !TARGET_OS_IPHONE
+{
+    NSString *_category;
+    GKLeaderboardTimeScope _timeScope;
+}
+#endif
+@end
+
+@interface GKLeaderboardViewController ()
+@property (assign, NS_NONATOMIC_IOSONLY) GKLeaderboardTimeScope timeScope;
+@property (copy, NS_NONATOMIC_IOSONLY)   NSString *category;
+@property (weak, NS_NONATOMIC_IOSONLY) id <GKLeaderboardViewControllerDelegate> leaderboardDelegate;
+
+@end
+
+API_DEPRECATED_WITH_REPLACEMENT("GKGameCenterViewController", ios(4.1,7.0), macos(10.8,10.10)) __TVOS_UNAVAILABLE
+@protocol GKLeaderboardViewControllerDelegate <NSObject>
+@required
+/// The leaderboard view has finished
+- (void)leaderboardViewControllerDidFinish:(GKLeaderboardViewController *)viewController;
+@end
+
+#endif
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKLocalPlayer.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKLocalPlayer.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKLocalPlayer.h	2023-03-09 19:15:05
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKLocalPlayer.h	2023-05-31 23:58:35
@@ -1,10 +1,6 @@
-//
-//  GKLocalPlayer.h
-//  Game Center
-//
-//  Copyright 2010-2023 Apple Inc. All rights reserved.
-//
+// Copyright © Apple Inc. All rights reserved.
 
+#import <TargetConditionals.h>
 #import <Foundation/Foundation.h>
 #import <GameKit/GKPlayer.h>
 #import <GameKit/GKDefines.h>
@@ -118,9 +114,9 @@
 
 @interface GKLocalPlayer (Deprecated)
 
-- (void)setDefaultLeaderboardCategoryID:(nullable NSString *)categoryID completionHandler:(void(^__nullable)(NSError * __nullable error))completionHandler NS_DEPRECATED(10_8, 10_10, 6_0, 7_0,"Use setDefaultLeaderboardIdentifier:completionHandler: instead") __TVOS_UNAVAILABLE;
-- (void)loadDefaultLeaderboardCategoryIDWithCompletionHandler:(void(^__nullable)(NSString * __nullable categoryID, NSError * __nullable error))completionHandler NS_DEPRECATED(10_8, 10_10, 6_0, 7_0,"Use loadDefaultLeaderboardIdentifierWithCompletionHandler: instead") __TVOS_UNAVAILABLE;
-- (void)authenticateWithCompletionHandler:(void(^__nullable)(NSError * __nullable error))completionHandler NS_DEPRECATED(10_8, 10_8, 4_1, 6_0, "Set the authenticateHandler instead") __TVOS_UNAVAILABLE;
+- (void)setDefaultLeaderboardCategoryID:(nullable NSString *)categoryID completionHandler:(void(^__nullable)(NSError * __nullable error))completionHandler API_DEPRECATED_WITH_REPLACEMENT("-setDefaultLeaderboardIdentifier:completionHandler:", ios(6.0,7.0), macos(10.8,10.10)) __TVOS_UNAVAILABLE;
+- (void)loadDefaultLeaderboardCategoryIDWithCompletionHandler:(void(^__nullable)(NSString * __nullable categoryID, NSError * __nullable error))completionHandler API_DEPRECATED_WITH_REPLACEMENT("-loadDefaultLeaderboardIdentifierWithCompletionHandler:", ios(6.0,7.0), macos(10.8,10.10)) __TVOS_UNAVAILABLE;
+- (void)authenticateWithCompletionHandler:(void(^__nullable)(NSError * __nullable error))completionHandler API_DEPRECATED_WITH_REPLACEMENT("-authenticateHandler", ios(4.1,6.0), macos(10.8,10.8)) __TVOS_UNAVAILABLE;
 
 - (void)loadFriendPlayersWithCompletionHandler:(void(^__nullable)(NSArray<GKPlayer *> * __nullable friendPlayers, NSError * __nullable error))completionHandler NS_DEPRECATED(10_10, 10_11, 8_0, 10_0);
 
@@ -130,16 +126,16 @@
     1. Communications problem
     2. Unauthenticated player
  */
-- (void)generateIdentityVerificationSignatureWithCompletionHandler:(void (^__nullable)(NSURL * __nullable publicKeyUrl, NSData * __nullable signature, NSData * __nullable salt, uint64_t timestamp, NSError * __nullable error))completionHandler  API_DEPRECATED("API deprecated. Use fetchItemsForIdentityVerificationSignature: and the teamPlayerID value to verify a user identity.", ios(7.0, 13.5), tvos(9.0, 13.4.8), macosx(10.10, 10.15.5), watchos(3.0,6.5));
+- (void)generateIdentityVerificationSignatureWithCompletionHandler:(void (^__nullable)(NSURL * __nullable publicKeyUrl, NSData * __nullable signature, NSData * __nullable salt, uint64_t timestamp, NSError * __nullable error))completionHandler  API_DEPRECATED_WITH_REPLACEMENT("-fetchItemsForIdentityVerificationSignature:completionHandler:", ios(7.0, 13.5), tvos(9.0, 13.4.8), macosx(10.10, 10.15.5), watchos(3.0,6.5));
 @end
 NS_ASSUME_NONNULL_END
 
 @interface GKLocalPlayer (Obsoleted)
 /** This method is obsolete. It will never be invoked and its implementation does nothing***/
-- (void)loadFriendsWithCompletionHandler:(void(^__nullable)(NSArray<NSString *> * __nullable friendIDs, NSError * __nullable error))completionHandler NS_DEPRECATED(10_8, 10_10, 4_1, 8_0, "This is never invoked and its implementation does nothing, use loadRecentPlayersWithCompletionHandler: instead") __TVOS_UNAVAILABLE NS_SWIFT_NAME(loadFriendsObsoleted(completionHandler:));;
+- (void)loadFriendsWithCompletionHandler:(void(^__nullable)(NSArray<NSString *> * __nullable friendIDs, NSError * __nullable error))completionHandler API_DEPRECATED_WITH_REPLACEMENT("-loadRecentPlayersWithCompletionHandler:", ios(4.1,8.0), macos(10.8,10.10)) __TVOS_UNAVAILABLE NS_SWIFT_NAME(loadFriendsObsoleted(completionHandler:));;
 
 /** This property is obsolete. ***/
-@property(nonatomic, readonly, nullable, retain) NSArray<NSString *> *friends NS_DEPRECATED(10_8, 10_10, 4_1, 8_0, " This property is obsolete, Use loadFriendPlayersWithCompletionHandler: instead") __TVOS_UNAVAILABLE; // Array of player identifiers of friends for the local player. Not valid until loadFriendsWithCompletionHandler: has completed.
+@property(nonatomic, readonly, nullable, retain) NSArray<NSString *> *friends API_DEPRECATED_WITH_REPLACEMENT("-loadFriendPlayersWithCompletionHandler:", ios(4.1,8.0), macos(10.8,10.10)) __TVOS_UNAVAILABLE; // Array of player identifiers of friends for the local player. Not valid until loadFriendsWithCompletionHandler: has completed.
 @end
 
 NS_ASSUME_NONNULL_BEGIN
@@ -247,13 +243,7 @@
  */
 - (void)loadFriendsWithIdentifiers:(NSArray<NSString *> *)identifiers completionHandler:(void(^)(NSArray<GKPlayer *> * __nullable friends, NSError * __nullable error))completionHandler API_AVAILABLE(ios(14.5), macos(11.3), tvos(14.5), watchos(7.3)) NS_SWIFT_NAME(loadFriends(identifiedBy:completionHandler:));
 @end
-NS_ASSUME_NONNULL_END
 
-
-#import <GameKit/GKLocalPlayer.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
 @interface GKLocalPlayer (UI)
 
 #if TARGET_OS_WATCH
@@ -300,4 +290,3 @@
 @end
 
 NS_ASSUME_NONNULL_END
-
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKMatch.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKMatch.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKMatch.h	2023-03-09 19:18:15
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKMatch.h	2023-05-31 04:15:22
@@ -1,12 +1,9 @@
-//
-//  GKMatch.h
-//  Game Center
-//
-//  Copyright 2010-2023 Apple Inc. All rights reserved.
-//
+// Copyright © Apple Inc. All rights reserved.
 
 #import <Foundation/Foundation.h>
 
+#import <GameKit/GKDefines.h>
+
 @class GKVoiceChat;
 @class GKPlayer;
 @class GKLocalPlayer;
@@ -76,21 +73,21 @@
 - (BOOL)match:(GKMatch *)match shouldReinviteDisconnectedPlayer:(GKPlayer *)player NS_AVAILABLE(10_10, 8_0);
 
 /*** These protocol methods are obsoleted. They will never be invoked and their implementation does nothing***/
-- (void)match:(GKMatch *)match didReceiveData:(NSData *)data fromPlayer:(NSString *)playerID NS_DEPRECATED(10_8, 10_10, 4_1, 8_0, "This is never invoked and its implementation does nothing, use match:didReceiveData:fromRemotePlayer:") __TVOS_UNAVAILABLE;
-- (void)match:(GKMatch *)match player:(NSString *)playerID didChangeState:(GKPlayerConnectionState)state NS_DEPRECATED(10_8, 10_8, 4_1, 8_0, "This is never invoked and its implementation does nothing, use match:player:didChangeConnectionState:") __TVOS_UNAVAILABLE;
-- (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:") __TVOS_UNAVAILABLE;
+- (void)match:(GKMatch *)match didReceiveData:(NSData *)data fromPlayer:(NSString *)playerID API_DEPRECATED_WITH_REPLACEMENT("-match:didReceiveData:fromRemotePlayer:", ios(4.1,8.0), macos(10.8,10.10)) API_UNAVAILABLE(tvos);
+- (void)match:(GKMatch *)match player:(NSString *)playerID didChangeState:(GKPlayerConnectionState)state API_DEPRECATED_WITH_REPLACEMENT("-match:player:didChangeConnectionState:", ios(4.1,8.0), macos(10.8,10.8)) API_UNAVAILABLE(tvos);
+- (BOOL)match:(GKMatch *)match shouldReinvitePlayer:(NSString *)playerID API_DEPRECATED_WITH_REPLACEMENT("-shouldReinviteDisconnectedPlayer:", ios(5.0,8.0), macos(10.8,10.10)) API_UNAVAILABLE(tvos);
 @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:") __TVOS_UNAVAILABLE;
+- (void)chooseBestHostPlayerWithCompletionHandler:(void(^)(NSString * __nullable playerID))completionHandler API_DEPRECATED_WITH_REPLACEMENT("-chooseBestHostingPlayerWithCompletionHandler:", ios(6.0,8.0), macos(10.9,10.10)) __TVOS_UNAVAILABLE;
 
 /*** This method is obsolete. It will never be invoked and its implementation does nothing***/
-- (BOOL)sendData:(NSData *)data toPlayers:(NSArray<NSString *> *)playerIDs withDataMode:(GKMatchSendDataMode)mode error:(NSError **)error NS_DEPRECATED(10_8, 10_10, 4_1, 8_0, "This is never invoked and its implementation does nothing, use sendData:toPlayers:dataMode:error:") __TVOS_UNAVAILABLE;
+- (BOOL)sendData:(NSData *)data toPlayers:(NSArray<NSString *> *)playerIDs withDataMode:(GKMatchSendDataMode)mode error:(NSError **)error API_DEPRECATED_WITH_REPLACEMENT("-sendData:toPlayers:dataMode:error:", ios(4.1,8.0), macos(10.8,10.10)) __TVOS_UNAVAILABLE;
 
 /*** This property is obsolete.  ***/
-@property(nonatomic, nullable, readonly) NSArray<NSString *> *playerIDs NS_DEPRECATED(10_8, 10_10, 4_1, 8_0, "This is never invoked and its implementation does nothing, use players instead.") __TVOS_UNAVAILABLE;   // NSStrings of player identifiers in the match
+@property(nonatomic, nullable, readonly) NSArray<NSString *> *playerIDs API_DEPRECATED_WITH_REPLACEMENT("-players:", ios(4.1,8.0), macos(10.8,10.10)) __TVOS_UNAVAILABLE;   // NSStrings of player identifiers in the match
 
 @end
 NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKMatchmaker.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKMatchmaker.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKMatchmaker.h	2023-03-09 19:15:06
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKMatchmaker.h	2023-06-01 00:27:08
@@ -1,16 +1,13 @@
-//
-//  GKMatchmaker.h
-//  Game Center
-//
-//  Copyright 2010-2023 Apple Inc. All rights reserved.
-//
+// Copyright © Apple Inc. All rights reserved.
 
-#include <Foundation/Foundation.h>
+#import <TargetConditionals.h>
+#import <Foundation/Foundation.h>
 
-@class GKPlayer;
+#import <GameKit/GKDefines.h>
+
 @class GKMatch;
+@class GKPlayer;
 
-
 /// Possible invitee responses
 typedef NS_ENUM(NSInteger, GKInviteRecipientResponse) {
     GKInviteRecipientResponseAccepted           = 0,
@@ -29,7 +26,7 @@
     GKInviteeResponseNoAnswer           = GKInviteRecipientResponseNoAnswer,
 };
 
-typedef GKInviteRecipientResponse GKInviteeResponse;
+typedef GKInviteRecipientResponse GKInviteeResponse API_DEPRECATED_WITH_REPLACEMENT("GKInviteRecipientResponse", ios(6.0,8.0), macos(10.9,10.10)) API_UNAVAILABLE(tvos);
 
 NS_ASSUME_NONNULL_BEGIN
 /// GKMatchRequest represents the parameters needed to create the match.
@@ -61,11 +58,11 @@
 /// Whether or not a match will be created only using automatch.  If YES, then a player will not be able to
 /// invite anyone (including contacts, friends, and nearby players) to the match, but rely on automatching to
 /// find players for the match.  Default is NO.
-@property(assign) BOOL restrictToAutomatch API_DEPRECATED("Set the matchmakingMode of GKMatchmakerViewController instead.", ios(13.0, 14.0), tvos(13.0, 14.0), macosx(10.15, 11.0));
+@property(assign) BOOL restrictToAutomatch API_DEPRECATED_WITH_REPLACEMENT("-[GKMatchmakerViewController matchmakingMode:]", ios(13.0, 14.0), tvos(13.0, 14.0), macosx(10.15, 11.0));
 
 /// An recipientResponseHandler can be set in order to receive responses from programmatically invited players.
 @property(copy, nullable) void(^recipientResponseHandler)(GKPlayer *player, GKInviteRecipientResponse response) NS_AVAILABLE(10_10, 8_0);
-@property(copy, nullable) void(^inviteeResponseHandler)(NSString *playerID, GKInviteeResponse response) NS_DEPRECATED(10_9, 10_10, 6_0, 8_0, "use recipientResponseHandler") __TVOS_UNAVAILABLE;
+@property(copy, nullable) void(^inviteeResponseHandler)(NSString *playerID, GKInviteeResponse response) API_DEPRECATED_WITH_REPLACEMENT("recipientResponseHandler", ios(6.0,8.0), macos(10.9,10.10)) API_UNAVAILABLE(tvos);
 
 typedef NS_ENUM(NSUInteger, GKMatchType) {
     GKMatchTypePeerToPeer,
@@ -76,10 +73,9 @@
 /// To determine the maximum allowed players for each type of match supported.
 + (NSUInteger)maxPlayersAllowedForMatchOfType:(GKMatchType)matchType NS_AVAILABLE(10_9, 6_0);
 
-@property(retain, nullable) NSArray<NSString *> *playersToInvite NS_DEPRECATED(10_8, 10_10, 4_1, 8_0, "This property is obsolete, use recipients instead") __TVOS_UNAVAILABLE; // Array of player IDs to invite, or nil if none
+@property(retain, nullable) NSArray<NSString *> *playersToInvite API_DEPRECATED_WITH_REPLACEMENT("-recipients:", ios(4.1,8.0), macos(10.8,10.10)) API_UNAVAILABLE(tvos); // Array of player IDs to invite, or nil if none
 @end
 
-
 /// GKInvite represents an accepted game invite, it is used to create a GKMatchmakerViewController
 NS_CLASS_AVAILABLE(10_8, 4_1) __WATCHOS_PROHIBITED
 @interface GKInvite : NSObject
@@ -92,7 +88,7 @@
 @property(readonly, NS_NONATOMIC_IOSONLY) uint32_t playerAttributes NS_AVAILABLE(10_9, 6_0);
 
 /*** This property is obsolete. ***/
-@property(readonly, retain, NS_NONATOMIC_IOSONLY) NSString *inviter NS_DEPRECATED(10_8, 10_10, 4_1, 8_0, "This property is obsolete, use sender instead") __TVOS_UNAVAILABLE;
+@property(readonly, retain, NS_NONATOMIC_IOSONLY) NSString *inviter API_DEPRECATED_WITH_REPLACEMENT("-sender:", ios(4.1,8.0), macos(10.8,10.10)) API_UNAVAILABLE(tvos);
 @end
 
 /// GKInviteEventListener uses the GKLocalPlayerListener mechanism on GKLocalPlayer to listen to the two kinds of invite events that a game must respond to
@@ -107,7 +103,7 @@
 - (void)player:(GKPlayer *)player didRequestMatchWithRecipients:(NSArray<GKPlayer *> *)recipientPlayers NS_AVAILABLE(10_10, 8_0) __WATCHOS_PROHIBITED;
 
 /*** This method is obsolete. It will never be invoked and its implementation does nothing***/
-- (void)player:(GKPlayer *)player didRequestMatchWithPlayers:(NSArray<NSString *> *)playerIDsToInvite NS_DEPRECATED_IOS(7_0, 8_0, "This method is obsolete.  It will never be invoked its implementation does nothing, use player:didRequestMatchWithRecipients:") __TVOS_UNAVAILABLE;
+- (void)player:(GKPlayer *)player didRequestMatchWithPlayers:(NSArray<NSString *> *)playerIDsToInvite API_DEPRECATED_WITH_REPLACEMENT("-player:didRequestMatchWithRecipients:", ios(7.0,8.0)) API_UNAVAILABLE(tvos);
 @end
 
 
@@ -140,6 +136,7 @@
 /// 3. Timeout
 - (void)findPlayersForHostedRequest:(GKMatchRequest *)request withCompletionHandler:(void(^__nullable)(NSArray<GKPlayer *> * __nullable players, NSError * __nullable error))completionHandler NS_AVAILABLE(10_10, 8_0);
 
+
 /// Automatching or invites to add additional players to a peer-to-peer match for the specified request. Error will be nil on success:
 /// Possible reasons for error:
 /// 1. Communications failure
@@ -185,18 +182,18 @@
 __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") __TVOS_UNAVAILABLE;
+@property(nonatomic, nullable, copy) void(^inviteHandler)(GKInvite *acceptedInvite, NSArray * __nullable playerIDsToInvite) API_DEPRECATED("Use registerListener on GKLocalPlayer to register an object that implements the GKInviteEventListenerProtocol instead.", ios(4.1,7.0), macos(10.8,10.10)) API_UNAVAILABLE(tvos);
 @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") __TVOS_UNAVAILABLE;
+- (void)startBrowsingForNearbyPlayersWithReachableHandler:(void(^__nullable)(NSString *playerID, BOOL reachable))reachableHandler API_DEPRECATED_WITH_REPLACEMENT("-startBrowsingForNearbyPlayersWithHandler:", ios(6.0,8.0), macos(10.9,10.10)) __TVOS_UNAVAILABLE;
 
 /*** This method is obsolete. It will never be invoked and its implementation does nothing***/
-- (void)cancelInviteToPlayer:(NSString *)playerID NS_DEPRECATED(10_9, 10_10, 6_0, 8_0, "This is never invoked and its implementation does nothing, use cancelPendingInviteToPlayer:") __TVOS_UNAVAILABLE;
+- (void)cancelInviteToPlayer:(NSString *)playerID API_DEPRECATED_WITH_REPLACEMENT("-cancelPendingInviteToPlayer:", ios(6.0,8.0), macos(10.9,10.10)) __TVOS_UNAVAILABLE;
 
 /*** This method is obsolete. It will never be invoked and its implementation does nothing***/
-- (void)findPlayersForHostedMatchRequest:(GKMatchRequest *)request withCompletionHandler:(void(^__nullable)(NSArray<NSString *> * __nullable playerIDs, NSError * __nullable error))completionHandler NS_DEPRECATED(10_8, 10_10, 4_1, 8_0, "This is never invoked and its implementation does nothing, use findPlayersForHostedRequest:") __TVOS_UNAVAILABLE;
+- (void)findPlayersForHostedMatchRequest:(GKMatchRequest *)request withCompletionHandler:(void(^__nullable)(NSArray<NSString *> * __nullable playerIDs, NSError * __nullable error))completionHandler API_DEPRECATED_WITH_REPLACEMENT("-findPlayersForHostedRequest:", ios(4.1,8.0), macos(10.8,10.10)) __TVOS_UNAVAILABLE;
 @end
 NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKMatchmakerViewController.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKMatchmakerViewController.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKMatchmakerViewController.h	2023-03-09 19:15:05
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKMatchmakerViewController.h	2023-05-31 04:15:21
@@ -1,10 +1,10 @@
-//
-//  GKMatchmakerViewController.h
-//  Game Center
-//
-//  Copyright 2010-2023 Apple Inc. All rights reserved.
-//
+// Copyright © Apple Inc. All rights reserved.
 
+#import <TargetConditionals.h>
+#import <Foundation/Foundation.h>
+
+#if !TARGET_OS_WATCH
+
 @class GKMatchRequest, GKInvite, GKMatch, GKPlayer;
 
 @protocol GKMatchmakerViewControllerDelegate;
@@ -19,7 +19,6 @@
 /// View controller to invite friends, respond to invites, and perform automatching. Present modally from the top view controller.
 #if TARGET_OS_IPHONE
 
-#import <Foundation/Foundation.h>
 #import <UIKit/UINavigationController.h> // UINavigationController
 
 NS_ASSUME_NONNULL_BEGIN
@@ -61,7 +60,7 @@
 
 @interface GKMatchmakerViewController (Obsoleted)
 /*** This method is obsolete. It will never be invoked and its implementation does nothing***/
-- (void)setHostedPlayer:(NSString *)playerID connected:(BOOL)connected NS_DEPRECATED(10_8, 10_10, 5_0, 8_0, "This is never invoked and its implementation does nothing, use setHostedPlayer:didConnect:") __TVOS_UNAVAILABLE;
+- (void)setHostedPlayer:(NSString *)playerID connected:(BOOL)connected API_DEPRECATED_WITH_REPLACEMENT("-setHostedPlayer:didConnect:", ios(5.0,8.0), macos(10.8,10.10)) __TVOS_UNAVAILABLE;
 
 #if TARGET_OS_IPHONE
 /*** This method is obsolete. It will never be invoked and its implementation does nothing***/
@@ -87,8 +86,11 @@
 /// An invited player has accepted a hosted invite.  Apps should connect through the hosting server and then update the player's connected state (using setConnected:forHostedPlayer:)
 - (void)matchmakerViewController:(GKMatchmakerViewController *)viewController hostedPlayerDidAccept:(GKPlayer *)player NS_AVAILABLE(10_10, 8_0);
 
+
 /*** These protocol methods are obsoleted. They will never be invoked and their implementation does nothing***/
-- (void)matchmakerViewController:(GKMatchmakerViewController *)viewController didFindPlayers:(NSArray<NSString *> *)playerIDs NS_DEPRECATED(10_8, 10_10, 4_1, 8_0, "This is never invoked and its implementation does nothing, use matchmakerViewController:didFindHostedPlayers:") __TVOS_UNAVAILABLE;
-- (void)matchmakerViewController:(GKMatchmakerViewController *)viewController didReceiveAcceptFromHostedPlayer:(NSString *)playerID NS_DEPRECATED(10_8, 10_10, 5_0, 8_0, "This is never invoked and its implementation does nothing, use matchmakerViewController:hostedPlayerDidAccept:") __TVOS_UNAVAILABLE;
+- (void)matchmakerViewController:(GKMatchmakerViewController *)viewController didFindPlayers:(NSArray<NSString *> *)playerIDs API_DEPRECATED_WITH_REPLACEMENT("-matchmakerViewController:didFindHostedPlayers:", ios(4.1,8.0), macos(10.8,10.10)) API_UNAVAILABLE(tvos);
+- (void)matchmakerViewController:(GKMatchmakerViewController *)viewController didReceiveAcceptFromHostedPlayer:(NSString *)playerID API_DEPRECATED_WITH_REPLACEMENT("-matchmakerViewController:hostedPlayerDidAccept:", ios(5.0,8.0), macos(10.8,10.10)) API_UNAVAILABLE(tvos);
 @end
 NS_ASSUME_NONNULL_END
+
+#endif
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKNotificationBanner.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKNotificationBanner.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKNotificationBanner.h	2023-03-09 19:15:07
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKNotificationBanner.h	2023-05-31 04:55:11
@@ -1,20 +1,20 @@
-//
-//  GKNotificationBanner.h
-//  Game Center
-//
-//  Copyright 2012-2023 Apple Inc. All rights reserved.
-//
+// Copyright © Apple Inc. All rights reserved.
 
+#import <TargetConditionals.h>
 #import <Foundation/Foundation.h>
 
+#if !TARGET_OS_WATCH
+
 /// Asynchronously shows a notification banner like the one used for Game Center’s “Welcome Back” message.
 /// If a banner is already being displayed, additional banners will be shown in sequence. Use this to notify the user of game events, high scores, completed achievements, etc.
 
-NS_CLASS_AVAILABLE(10_8, 5_0)
+API_DEPRECATED("Use UNNotificationRequest or provide custom UI instead. This method will become a no-op in a future version of GameKit.", ios(5.0, 17.0), tvos(9.0, 16.1), macos(10.8, 14.0))
 @interface GKNotificationBanner : NSObject
 
-+ (void)showBannerWithTitle:(nullable NSString *)title message:(nullable NSString *)message completionHandler:(void(^__nullable)(void))completionHandler NS_AVAILABLE(10_8, 5_0);
++ (void)showBannerWithTitle:(nullable NSString *)title message:(nullable NSString *)message completionHandler:(void(^__nullable)(void))completionHandler API_DEPRECATED("Use UNNotificationRequest or provide custom UI instead. This method will become a no-op in a future version of GameKit.", ios(5.0, 16.1), tvos(9.0, 16.1), macos(10.8, 13.0));
 
-+ (void)showBannerWithTitle:(nullable NSString *)title message:(nullable NSString *)message duration:(NSTimeInterval)duration completionHandler:(void(^__nullable)(void))completionHandler NS_AVAILABLE(10_8, 6_0);
++ (void)showBannerWithTitle:(nullable NSString *)title message:(nullable NSString *)message duration:(NSTimeInterval)duration completionHandler:(void(^__nullable)(void))completionHandler API_DEPRECATED("Use UNNotificationRequest or provide custom UI instead. This method will become a no-op in a future version of GameKit.", ios(5.0, 16.1), tvos(9.0, 16.1), macos(10.8, 13.0));
 
 @end
+
+#endif
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKPeerPickerController.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKPeerPickerController.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKPeerPickerController.h	1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKPeerPickerController.h	2023-06-01 02:57:18
@@ -0,0 +1,93 @@
+// Copyright © Apple Inc. All rights reserved.
+
+#import <TargetConditionals.h>
+
+#if !TARGET_OS_OSX && !TARGET_OS_TV && !TARGET_OS_WATCH
+
+/*
+ This API provides a system-supplied user interface for selecting and connecting to another device for a multiplayer game.  The API introduces GKPeerPickerController for this purpose, and should be used in conjunction with the GKSession API.
+ 
+ This a not a Game Center feature. To support Game Center and online play, see GKMatchMatchmakerViewController.
+ */
+
+#import <GameKit/GKSession.h>
+
+/// This a not a Game Center feature. To support Game Center and online play, see GKMatchMatchmakerViewController.
+@class GKPeerPickerController;
+
+/* Connection types
+ */
+typedef NS_ENUM(NSUInteger, GKPeerPickerConnectionType)
+{
+	GKPeerPickerConnectionTypeOnline = 1 << 0,		// Online (Internet) based multiplayer connection
+	GKPeerPickerConnectionTypeNearby = 1 << 1		// Nearby (Bluetooth) based multiplayer connection
+} NS_ENUM_DEPRECATED_IOS(3_0, 7_0);
+
+NS_ASSUME_NONNULL_BEGIN
+
+/* callbacks to the GKPeerPickerController delegate
+ */
+API_DEPRECATED("Use MCBrowserViewController along with MCBrowserViewControllerDelegate from the MultipeerConnectivity framework.", ios(3.0,7.0)) __TVOS_UNAVAILABLE
+@protocol GKPeerPickerControllerDelegate <NSObject>
+
+@optional
+
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+/* Notifies delegate that a connection type was chosen by the user.
+ */
+- (void)peerPickerController:(GKPeerPickerController *)picker didSelectConnectionType:(GKPeerPickerConnectionType)type __TVOS_UNAVAILABLE;
+
+/* Notifies delegate that the connection type is requesting a GKSession object.
+ 
+ You should return a valid GKSession object for use by the picker. If this method is not implemented or returns 'nil', a default GKSession is created on the delegate's behalf.
+ */
+
+- (GKSession *)peerPickerController:(GKPeerPickerController *)picker sessionForConnectionType:(GKPeerPickerConnectionType)type __TVOS_UNAVAILABLE;
+
+/* Notifies delegate that the peer was connected to a GKSession.
+ */
+- (void)peerPickerController:(GKPeerPickerController *)picker didConnectPeer:(NSString *)peerID toSession:(GKSession *)session __TVOS_UNAVAILABLE;
+#pragma clang diagnostic pop
+
+/* Notifies delegate that the user cancelled the picker.
+ */
+- (void)peerPickerControllerDidCancel:(GKPeerPickerController *)picker __TVOS_UNAVAILABLE;
+
+@end
+
+
+/* The GKPeerPickerController class manages the system-supplied user interface for choosing peers to connect with for multiplayer games. The class manages the actual user interactions with the views and reports the results of those interactions to your delegate object.
+ 
+ Because the GKPeerPickerController class handles all of the user interactions, all you have to do is tell it which GKSession selected peers should be connected to, tell it to start, and then wait to receive a delegate callback when the picker finished connecting peers or cancels.
+ 
+ You must provide a delegate that conforms to the GKPeerPickerControllerDelegate protocol in order to use this class. After the user interface starts, this class notifies your delegate of the user’s actions.
+ */
+API_DEPRECATED("Use MCBrowserViewController from the MultipeerConnectivity framework.", ios(3.0,7.0)) __TVOS_UNAVAILABLE
+@interface GKPeerPickerController : NSObject
+
+/* An integer bit mask that determines what connection types are supported by the application, and displays system-supplied UI as appropriate. 
+ 
+ This mask can be specified by combining, using the C bitwise OR operator, any of the options described in GKPickerConnectionType. If not set, the default supported type is GKPickerConnectionTypeNearby.  If multiple connection types are supported, system-supplied UI will be presented to allow the user to select a connection type. The delegate receives a -peerPickerController:didSelectConnectionType: callback when the user selects a connection type.  If desired, this property should be set prior to calling -show, and should not be set while the picker is visible.
+ */
+@property(nonatomic, assign) GKPeerPickerConnectionType connectionTypesMask;
+
+/* The delegate receives notifications when the user interacts with the picker interface. If this property is nil, the picker is dismissed immediately if you try to show it.
+ */
+@property(nonatomic, nullable, weak) id<GKPeerPickerControllerDelegate> delegate NS_DEPRECATED_IOS(3_0, 7_0) __TVOS_UNAVAILABLE;
+
+/* Show the picker.
+ */
+- (void)show;
+
+/* Dismiss the picker.
+ */
+- (void)dismiss;
+
+@property(nonatomic,readonly,getter=isVisible) BOOL visible;
+
+@end
+
+NS_ASSUME_NONNULL_END
+
+#endif
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKPlayer.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKPlayer.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKPlayer.h	2023-03-09 19:18:15
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKPlayer.h	2023-06-01 00:27:08
@@ -1,10 +1,6 @@
-//
-//  GKPlayer.h
-//  Game Center
-//
-//  Copyright 2010-2023 Apple Inc. All rights reserved.
-//
+// Copyright © Apple Inc. All rights reserved.
 
+#import <TargetConditionals.h>
 #import <Foundation/Foundation.h>
 #import <GameKit/GKBasePlayer.h>
 #import <GameKit/GKDefines.h>
@@ -16,7 +12,7 @@
 @class UIImage;
 
 /// Deprecated methods that previously returned player IDs will return GKPlayerIDNoLongerAvailable instead.
-extern NSString * _Nonnull const GKPlayerIDNoLongerAvailable API_AVAILABLE(ios(14.0), macos(11.0), tvos(14.0)) API_UNAVAILABLE(watchos);
+GK_EXTERN NSString * _Nonnull const GKPlayerIDNoLongerAvailable API_AVAILABLE(ios(14.0), macos(11.0), tvos(14.0)) API_UNAVAILABLE(watchos);
 
 NS_CLASS_AVAILABLE(10_8, 4_1) __WATCHOS_AVAILABLE(3_0)
 
@@ -44,7 +40,7 @@
 @property(readonly, NS_NONATOMIC_IOSONLY) BOOL isInvitable API_AVAILABLE(ios(14.0), macos(11.0), tvos(14.0)) __WATCHOS_PROHIBITED;
 @end
 
-#import <GameKit/GKPlayer.h>
+#if !TARGET_OS_WATCH
 
 @interface GKPlayer (UI)
 
@@ -65,19 +61,20 @@
 
 @end
 
+#endif
 
 /// Notification will be posted whenever the player details changes. The object of the notification will be the player.
 GK_EXTERN_WEAK NSNotificationName __nonnull GKPlayerDidChangeNotificationName;
 
 @interface GKPlayer (Deprecated)
 
-@property(readonly, NS_NONATOMIC_IOSONLY)          BOOL         isFriend NS_DEPRECATED(10_8, 10_10, 4_1, 8_0, "use -[GKLocalPlayer loadFriendPlayers...]") __TVOS_UNAVAILABLE;    // True if this player is a friend of the local player
-@property(readonly, nonnull, retain, NS_NONATOMIC_IOSONLY)  NSString *playerID API_DEPRECATED( "use the teamPlayerID property to identify a player",ios(4.1,13.0),tvos(9.0,13.0),macosx(10.8,10.15));
+@property(readonly, NS_NONATOMIC_IOSONLY)          BOOL         isFriend API_DEPRECATED_WITH_REPLACEMENT("-[GKLocalPlayer loadFriendPlayersWithCompletionHandler:]", ios(4.1,8.0), macos(10.8,10.10)) __TVOS_UNAVAILABLE;    // True if this player is a friend of the local player
+@property(readonly, nonnull, retain, NS_NONATOMIC_IOSONLY)  NSString *playerID API_DEPRECATED("Use either the gamePlayerID or teamPlayerID property to identify a player.",ios(4.1,13.0),tvos(9.0,13.0),macosx(10.8,10.15));
 
 /// Load the Game Center players for the playerIDs provided. Error will be nil on success.
 /// Possible reasons for error:
 /// 1. Unauthenticated local player
 /// 2. Communications failure
 /// 3. Invalid player identifier
-+ (void)loadPlayersForIdentifiers:(nonnull NSArray<NSString *> *)identifiers withCompletionHandler:(void(^__nullable)(NSArray<GKPlayer *> * __nullable players, NSError * __nullable error))completionHandler NS_SWIFT_DISABLE_ASYNC API_DEPRECATED( "use GKLocalPlayer.loadFriendsWithIdentifiers to load a friend's GKPlayer object.",ios(4.1,14.5),tvos(9.0,14.5),macosx(10.8,11.3), watchos(3.0,7.4));
++ (void)loadPlayersForIdentifiers:(nonnull NSArray<NSString *> *)identifiers withCompletionHandler:(void(^__nullable)(NSArray<GKPlayer *> * __nullable players, NSError * __nullable error))completionHandler NS_SWIFT_DISABLE_ASYNC API_DEPRECATED_WITH_REPLACEMENT("-[GKLocalPlayer loadFriendsWithIdentifiers:completionHandler:]",ios(4.1,14.5),tvos(9.0,14.5),macosx(10.8,11.3), watchos(3.0,7.4));
 @end
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKPublicConstants.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKPublicConstants.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKPublicConstants.h	2023-03-09 19:15:05
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKPublicConstants.h	2023-05-31 04:55:10
@@ -1,9 +1,4 @@
-//
-//  GKPublicConstants.h
-//  Game Center
-//
-//  Copyright 2010-2023 Apple Inc. All rights reserved.
-//
+// Copyright © Apple Inc. All rights reserved.
 
 #import <Foundation/Foundation.h>
 
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKPublicProtocols.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKPublicProtocols.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKPublicProtocols.h	2023-03-09 19:15:07
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKPublicProtocols.h	2023-05-31 04:55:11
@@ -1,11 +1,5 @@
-//
-//  GKPublicProtocols.h
-//  Game Center
-//
-//  Copyright 2010-2023 Apple Inc. All rights reserved.
-//
+// Copyright © Apple Inc. All rights reserved.
 
-#import <TargetConditionals.h>
 #import <Foundation/Foundation.h>
 #import <GameKit/GKPublicConstants.h>
 
@@ -16,7 +10,7 @@
 
 /** Callbacks to the GKSession delegate.
 */
-NS_DEPRECATED(10_8, 10_10, 3_0, 7_0, "Use MCSession in association with MCSessionDelegate from the MultipeerConnectivity framework instead") __TVOS_UNAVAILABLE
+API_DEPRECATED_WITH_REPLACEMENT("GKMatchDelegate", ios(3.0,7.0), macos(10.8,10.10)) API_UNAVAILABLE(tvos)
 @protocol GKSessionDelegate <NSObject>
 
 @optional
@@ -48,7 +42,7 @@
 @class GKVoiceChatService;
 
 //All clients will need to implement this protocol
-NS_DEPRECATED_IOS(3_0, 7_0, "Use GKVoiceChat instead") __TVOS_UNAVAILABLE
+API_DEPRECATED_WITH_REPLACEMENT("GKVoiceChat", ios(3.0,7.0)) __TVOS_UNAVAILABLE
 @protocol GKVoiceChatClient <NSObject>
 
 @required
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKSavedGame.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKSavedGame.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKSavedGame.h	2023-03-09 19:15:06
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKSavedGame.h	2023-05-31 04:55:11
@@ -1,15 +1,11 @@
-//
-//  GKSavedGame.h
-//  Game Center
-//
-//  Copyright 2010-2023 Apple Inc. All rights reserved.
-//
+// Copyright © Apple Inc. All rights reserved.
 
+#import <TargetConditionals.h>
 #import <GameKit/GKLocalPlayer.h>
 #import <GameKit/GKSavedGameListener.h>
 
 /// Class representing a saved game for the local player, or a version of a saved game when in conflict
-NS_CLASS_AVAILABLE(10_10, 8_0) __WATCHOS_PROHIBITED __TVOS_UNAVAILABLE
+NS_CLASS_AVAILABLE(10_10, 8_0) __WATCHOS_PROHIBITED API_UNAVAILABLE(tvos)
 @interface GKSavedGame : NSObject <NSCopying>
 
 NS_ASSUME_NONNULL_BEGIN
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKSavedGameListener.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKSavedGameListener.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKSavedGameListener.h	2023-03-09 19:15:07
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKSavedGameListener.h	2023-05-31 04:55:11
@@ -1,9 +1,4 @@
-//
-//  GKSavedGameListener.h
-//  Game Center
-//
-//  Copyright 2010-2023 Apple Inc. All rights reserved.
-//
+// Copyright © Apple Inc. All rights reserved.
 
 #import <Foundation/NSObjCRuntime.h> // NS_ASSUME_NONNULL_BEGIN
 #import <objc/NSObject.h> // NSObject
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKScore.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKScore.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKScore.h	2023-03-09 19:15:06
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKScore.h	2023-06-01 00:27:08
@@ -1,21 +1,15 @@
-//
-//  GKScore.h
-//  Game Center
-//
-//  Copyright 2010-2023 Apple Inc. All rights reserved.
-//
+// Copyright © Apple Inc. All rights reserved.
 
 #import <Foundation/Foundation.h>
 
 #import <GameKit/GKLeaderboard.h>
 
-
 @class GKPlayer;
 
 NS_ASSUME_NONNULL_BEGIN
 
 /// GKScore represents a score in the leaderboards.
-API_DEPRECATED("Replaced by GKLeaderboardScore", ios(4.1, 14.0), tvos(9.0, 14.0), macosx(10.8, 11.0), watchos(3.0, 7.0))
+API_DEPRECATED_WITH_REPLACEMENT("GKLeaderboardScore", ios(4.1, 14.0), tvos(9.0, 14.0), macosx(10.8, 11.0), watchos(3.0, 7.0))
 @interface GKScore : NSObject <NSCoding, NSSecureCoding>
 
 /// Initialize the score with the local player and current date.
@@ -61,18 +55,18 @@
 
 @interface GKScore (Deprecated)
 
-- (void)reportScoreWithCompletionHandler:(void(^__nullable)(NSError * __nullable error))completionHandler NS_DEPRECATED(10_8, 10_10, 4_1, 7_0, "Use +reportScores:withCompletionhandler: instead") __TVOS_UNAVAILABLE;
-- (instancetype)initWithCategory:(nullable NSString *)category NS_DEPRECATED(10_8, 10_10, 4_1, 7_0, "Use initWithLeaderboardIdentifier: instead") __TVOS_UNAVAILABLE;
+- (void)reportScoreWithCompletionHandler:(void(^__nullable)(NSError * __nullable error))completionHandler API_DEPRECATED_WITH_REPLACEMENT("+reportScores:withCompletionhandler:", ios(4.1,7.0), macos(10.8,10.10)) __TVOS_UNAVAILABLE;
+- (instancetype)initWithCategory:(nullable NSString *)category API_DEPRECATED_WITH_REPLACEMENT("-initWithLeaderboardIdentifier:", ios(4.1,7.0), macos(10.8,10.10)) __TVOS_UNAVAILABLE;
 
-@property(copy, nullable, NS_NONATOMIC_IOSONLY) NSString *category NS_DEPRECATED(10_8, 10_10, 4_1, 7_0, "Use leaderboardIdentifier instead") __TVOS_UNAVAILABLE;
+@property(copy, nullable, NS_NONATOMIC_IOSONLY) NSString *category API_DEPRECATED_WITH_REPLACEMENT("-leaderboardIdentifier", ios(4.1,7.0), macos(10.8,10.10)) __TVOS_UNAVAILABLE;
 @end
 
 @interface GKScore (Obsoleted)
 /*** This method is obsolete. Calling this initialiser does nothing and will return nil ***/
-- (nullable instancetype)initWithLeaderboardIdentifier:(NSString *)identifier forPlayer:(NSString *)playerID NS_DEPRECATED_IOS(7_0, 8_0, "This is never invoked and its implementation does nothing, use initWithLeaderboardIdentifier:player:") __TVOS_UNAVAILABLE;
+- (nullable instancetype)initWithLeaderboardIdentifier:(NSString *)identifier forPlayer:(NSString *)playerID API_DEPRECATED_WITH_REPLACEMENT("-initWithLeaderboardIdentifier:player:", ios(7.0,8.0)) __TVOS_UNAVAILABLE;
 
 /*** This property is obsolete. ***/
-@property(readonly, nullable, retain, NS_NONATOMIC_IOSONLY)   NSString    *playerID NS_DEPRECATED(10_8, 10_10, 4_1, 8_0, "use player instead") __TVOS_UNAVAILABLE;          // The identifier of the player that recorded the score.
+@property(readonly, nullable, retain, NS_NONATOMIC_IOSONLY)   NSString    *playerID API_DEPRECATED_WITH_REPLACEMENT("-player:", ios(4.1,8.0), macos(10.8,10.10)) __TVOS_UNAVAILABLE;          // The identifier of the player that recorded the score.
 @end
 
 NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKSession.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKSession.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKSession.h	2023-03-09 19:18:15
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKSession.h	2023-06-01 00:27:08
@@ -1,9 +1,4 @@
-//
-//  GKSession.h
-//  Game Center
-//
-//  Copyright 2010-2023 Apple Inc. All rights reserved.
-//
+// Copyright © Apple Inc. All rights reserved.
 
 /**
  The Game Connectivity Kit (GCK) is a framework for handling connectivity and data transport in multiplayer network games.  
@@ -21,14 +16,8 @@
  
  This a not a Game Center feature. To support Game Center and online play, see GKMatch.
 */
-NS_CLASS_DEPRECATED(10_8, 10_10, 3_0, 7_0, "Use MCSession from the MultipeerConnectivity framework instead") __TVOS_UNAVAILABLE
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
-@interface GKSession : NSObject {
-#pragma clang diagnostic pop
-@private
-    id _session;
-}
+API_DEPRECATED_WITH_REPLACEMENT("GKMatch", ios(3.0,7.0), macos(10.8,10.10)) API_UNAVAILABLE(tvos)
+@interface GKSession : NSObject
 
 /** Creating a GKSession requires a unique identifier, sessionID, and mode.  All instances of the application must have the same sessionID in order to be able to join a game network.  Additionally, the GKSession requires a name, which is used to identify the specific instances of the application.
 
@@ -40,7 +29,7 @@
 - (id)initWithSessionID:(NSString *)sessionID displayName:(NSString *)name sessionMode:(GKSessionMode)mode NS_DEPRECATED(10_8, 10_10, 3_0, 7_0);
 #pragma clang diagnostic pop
 
-@property(weak) id<GKSessionDelegate> delegate NS_DEPRECATED(10_8, 10_10, 3_0, 7_0) __TVOS_UNAVAILABLE;
+@property(weak) id<GKSessionDelegate> delegate NS_DEPRECATED(10_8, 10_10, 3_0, 7_0) API_UNAVAILABLE(tvos);
 
 @property(readonly) NSString *sessionID;
 @property(readonly) NSString *displayName;
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKSessionError.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKSessionError.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKSessionError.h	2023-03-09 19:15:06
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKSessionError.h	2023-05-31 04:55:11
@@ -1,9 +1,4 @@
-//
-//  GKSessionError.h
-//  Game Center
-//
-//  Copyright 2010-2023 Apple Inc. All rights reserved.
-//
+// Copyright © Apple Inc. All rights reserved.
 
 #import <Foundation/Foundation.h>
 #import <GameKit/GKDefines.h>
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKTurnBasedMatch.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKTurnBasedMatch.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKTurnBasedMatch.h	2023-03-09 19:18:15
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKTurnBasedMatch.h	2023-05-31 04:55:11
@@ -1,9 +1,4 @@
-//
-//  GKTurnBasedMatch.h
-//  Game Center
-//
-//  Copyright 2010-2023 Apple Inc. All rights reserved.
-//
+// Copyright © Apple Inc. All rights reserved.
 
 #import <GameKit/GKPlayer.h>
 #import <GameKit/GKLeaderboardScore.h>
@@ -65,7 +60,7 @@
 
 @interface GKTurnBasedParticipant (Obsoleted)
 /*** This property is obsolete. ***/
-@property(readonly, nullable, copy, NS_NONATOMIC_IOSONLY) NSString              *playerID NS_DEPRECATED(10_8, 10_10, 5_0, 8_0, "use player") __TVOS_UNAVAILABLE;
+@property(readonly, nullable, copy, NS_NONATOMIC_IOSONLY) NSString              *playerID API_DEPRECATED_WITH_REPLACEMENT("-player:", ios(5.0,8.0), macos(10.8,10.10)) __TVOS_UNAVAILABLE;
 @end
 
 NS_ASSUME_NONNULL_BEGIN
@@ -100,14 +95,14 @@
 - (void)player:(GKPlayer *)player wantsToQuitMatch:(GKTurnBasedMatch *)match NS_AVAILABLE(10_11, 9_0) __WATCHOS_AVAILABLE(3_0);
 
 /// Deprecated
-- (void)player:(GKPlayer *)player didRequestMatchWithPlayers:(NSArray<NSString *> *)playerIDsToInvite NS_DEPRECATED_IOS(7_0, 8_0, "use didRequestMatchWithOtherPlayers") __TVOS_UNAVAILABLE;
+- (void)player:(GKPlayer *)player didRequestMatchWithPlayers:(NSArray<NSString *> *)playerIDsToInvite API_DEPRECATED_WITH_REPLACEMENT("-didRequestMatchWithOtherPlayers:", ios(7.0,8.0)) API_UNAVAILABLE(tvos);
 
 @end
 
 // Turn timeout constants
 
-extern NSTimeInterval        GKTurnTimeoutDefault NS_AVAILABLE(10_9, 6_0) __WATCHOS_AVAILABLE(3_0);    // use a default timeout of one week
-extern NSTimeInterval        GKTurnTimeoutNone NS_AVAILABLE(10_9, 6_0) __WATCHOS_AVAILABLE(3_0);
+GK_EXTERN NSTimeInterval        GKTurnTimeoutDefault NS_AVAILABLE(10_9, 6_0) __WATCHOS_AVAILABLE(3_0);    // use a default timeout of one week
+GK_EXTERN NSTimeInterval        GKTurnTimeoutNone NS_AVAILABLE(10_9, 6_0) __WATCHOS_AVAILABLE(3_0);
 
 NS_CLASS_AVAILABLE(10_8, 5_0) __WATCHOS_AVAILABLE(3_0)
 @interface GKTurnBasedMatch : NSObject
@@ -212,7 +207,7 @@
 - (void)endMatchInTurnWithMatchData:(NSData*)matchData completionHandler:(void(^__nullable)(NSError * __nullable error))completionHandler;
 
 // This will end the match and submit scores and achievements for all participants. Scores should be submitted for all involved players, and multiple scores may be submitted for each to different leaderboards. Earned achievements may also be submitted for any participants. You must set each participant’s matchOutcome before calling this method. All completed exchanges must be resolved or canceled before calling this.
-- (void)endMatchInTurnWithMatchData:(NSData*)matchData scores:(nullable NSArray<GKScore *> *)scores achievements:(nullable NSArray<GKAchievement *> *)achievements completionHandler:(void(^__nullable)(NSError * __nullable error))completionHandler NS_DEPRECATED(10_10, 11_0, 6_0, 14_0, "pass GKLeaderboardScore to endMatchInTurnWithMatchData:scores:completionHandler instead");
+- (void)endMatchInTurnWithMatchData:(NSData*)matchData scores:(nullable NSArray<GKScore *> *)scores achievements:(nullable NSArray<GKAchievement *> *)achievements completionHandler:(void(^__nullable)(NSError * __nullable error))completionHandler API_DEPRECATED_WITH_REPLACEMENT("-endMatchInTurnWithMatchData:scores:completionHandler", ios(6.0,14.0), macos(10.10,11.0));
 
 - (void)endMatchInTurnWithMatchData:(NSData*)matchData leaderboardScores:(NSArray<GKLeaderboardScore *> *)scores achievements:(NSArray *)achievements completionHandler:(void(^)(NSError * __nullable error))completionHandler NS_AVAILABLE(11_0, 14_0);
 
@@ -239,8 +234,8 @@
                  completionHandler:(void(^__nullable)(NSError * __nullable error))completionHandler NS_AVAILABLE(10_10, 7_0) __WATCHOS_AVAILABLE(3_0);
 
 // deprecated methods
-- (void)endTurnWithNextParticipant:(GKTurnBasedParticipant *)nextParticipant matchData:(NSData*)matchData completionHandler:(void(^__nullable)(NSError * __nullable error))completionHandler NS_DEPRECATED(10_8, 10_9, 5_0, 6_0, "Use endTurnWithNextParticipants:... instead") __TVOS_UNAVAILABLE;
-- (void)participantQuitInTurnWithOutcome:(GKTurnBasedMatchOutcome)matchOutcome nextParticipant:(GKTurnBasedParticipant *)nextParticipant matchData:(NSData*)matchData completionHandler:(void(^__nullable)(NSError * __nullable error))completionHandler NS_DEPRECATED(10_8, 10_9, 5_0, 6_0, "Use participantQuitInTurnWithOutcome:nextParticipants:turnTimeout:... instead") __TVOS_UNAVAILABLE;
+- (void)endTurnWithNextParticipant:(GKTurnBasedParticipant *)nextParticipant matchData:(NSData*)matchData completionHandler:(void(^__nullable)(NSError * __nullable error))completionHandler API_DEPRECATED_WITH_REPLACEMENT("-endTurnWithNextParticipants:turnTimeout:matchData:completionHandler:", ios(5.0,6.0), macos(10.8,10.9)) __TVOS_UNAVAILABLE;
+- (void)participantQuitInTurnWithOutcome:(GKTurnBasedMatchOutcome)matchOutcome nextParticipant:(GKTurnBasedParticipant *)nextParticipant matchData:(NSData*)matchData completionHandler:(void(^__nullable)(NSError * __nullable error))completionHandler API_DEPRECATED_WITH_REPLACEMENT("-participantQuitInTurnWithOutcome:nextParticipants:turnTimeout:matchData:completionHandler:", ios(5.0,6.0), macos(10.8,10.9)) __TVOS_UNAVAILABLE;
 
 @end
 
@@ -258,10 +253,9 @@
 
 // Exchange timeout constants
 
-extern NSTimeInterval        GKExchangeTimeoutDefault NS_AVAILABLE(10_10, 7_0) __WATCHOS_AVAILABLE(3_0);    // use a default timeout of one day
-extern NSTimeInterval        GKExchangeTimeoutNone NS_AVAILABLE(10_10, 7_0) __WATCHOS_AVAILABLE(3_0);
+GK_EXTERN NSTimeInterval        GKExchangeTimeoutDefault NS_AVAILABLE(10_10, 7_0) __WATCHOS_AVAILABLE(3_0);    // use a default timeout of one day
+GK_EXTERN NSTimeInterval        GKExchangeTimeoutNone NS_AVAILABLE(10_10, 7_0) __WATCHOS_AVAILABLE(3_0);
 
-
 NS_CLASS_AVAILABLE(10_10,7_0) __WATCHOS_AVAILABLE(3_0)
 @interface  GKTurnBasedExchange : NSObject
 
@@ -285,7 +279,6 @@
 
 @end
 
-    
 NS_CLASS_AVAILABLE(10_10,7_0) __WATCHOS_AVAILABLE(3_0)
 @interface GKTurnBasedExchangeReply  : NSObject
 
@@ -298,7 +291,7 @@
 // deprecated
 
 // see documentation for GKTurnBasedEventListener for the equivalent methods
-NS_DEPRECATED(10_8, 10_10, 5_0, 7_0, "Use registerListener on GKLocalPlayer with an object that implements the GKTurnBasedEventListener protocol") __TVOS_UNAVAILABLE
+API_DEPRECATED_WITH_REPLACEMENT("-[GKLocalPlayer registerListener:]", ios(5.0,7.0), macos(10.8,10.10)) API_UNAVAILABLE(tvos)
 @protocol  GKTurnBasedEventHandlerDelegate
 
 - (void)handleInviteFromGameCenter:(NSArray<NSString *> *)playersToInvite NS_DEPRECATED(10_8, 10_10, 5_0, 7_0);
@@ -310,7 +303,7 @@
 
 @end
 
-NS_CLASS_DEPRECATED(10_8, 10_10, 5_0, 7_0, "Use registerListener on GKLocalPlayer with an object that implements the GKTurnBasedEventListener protocol") __TVOS_UNAVAILABLE
+API_DEPRECATED_WITH_REPLACEMENT("-[GKTurnBasedEventListener registerListener:]", ios(5.0,7.0), macos(10.8,10.10)) API_UNAVAILABLE(tvos)
 @interface GKTurnBasedEventHandler : NSObject
 
 + (GKTurnBasedEventHandler *)sharedTurnBasedEventHandler NS_DEPRECATED(10_8, 10_10, 5_0, 7_0);
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKTurnBasedMatchmakerViewController.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKTurnBasedMatchmakerViewController.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKTurnBasedMatchmakerViewController.h	2023-03-09 19:15:06
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKTurnBasedMatchmakerViewController.h	2023-05-31 04:55:11
@@ -1,17 +1,16 @@
-//
-//  GKTurnBasedMatchmakerViewController.h
-//  Game Center
-//
-//  Copyright 2010-2023 Apple Inc. All rights reserved.
-//
+// Copyright © Apple Inc. All rights reserved.
 
+#import <TargetConditionals.h>
+#import <Foundation/Foundation.h>
+
+#if !TARGET_OS_WATCH
+
 @protocol GKTurnBasedMatchmakerViewControllerDelegate;
 
 @class GKMatchmakerViewController, GKTurnBasedMatch, GKMatchRequest;
 
 @protocol GKTurnBasedMatchmakerViewControllerDelegate;
 
-#import <Foundation/Foundation.h>
 #import <GameKit/GKMatchmakerViewController.h>
 
 /// View controller to manage turn-based matches, invite friends and perform automatching. Present modally from the top view controller.
@@ -56,11 +55,13 @@
 @optional
 
 // Deprecated
-- (void)turnBasedMatchmakerViewController:(GKTurnBasedMatchmakerViewController *)viewController didFindMatch:(GKTurnBasedMatch *)match NS_DEPRECATED(10_8, 10_11, 5_0, 9_0, "use GKTurnBasedEventListener player:receivedTurnEventForMatch:didBecomeActive:") __TVOS_UNAVAILABLE;
+- (void)turnBasedMatchmakerViewController:(GKTurnBasedMatchmakerViewController *)viewController didFindMatch:(GKTurnBasedMatch *)match API_DEPRECATED_WITH_REPLACEMENT("-player:receivedTurnEventForMatch:didBecomeActive:", ios(5.0,9.0), macos(10.8,10.11)) API_UNAVAILABLE(tvos);
 
 // Deprectated
-- (void)turnBasedMatchmakerViewController:(GKTurnBasedMatchmakerViewController *)viewController playerQuitForMatch:(GKTurnBasedMatch *)match NS_DEPRECATED(10_8, 10_11, 5_0, 9_0, "use GKTurnBasedEventListener player:wantsToQuitMatch:") __TVOS_UNAVAILABLE;
+- (void)turnBasedMatchmakerViewController:(GKTurnBasedMatchmakerViewController *)viewController playerQuitForMatch:(GKTurnBasedMatch *)match API_DEPRECATED_WITH_REPLACEMENT("-player:wantsToQuitMatch:", ios(5.0,9.0), macos(10.8,10.11)) API_UNAVAILABLE(tvos);
 
 @end
 
 NS_ASSUME_NONNULL_END
+
+#endif
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKVoiceChat.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKVoiceChat.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKVoiceChat.h	2023-03-09 19:15:06
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKVoiceChat.h	2023-05-31 04:55:11
@@ -1,9 +1,4 @@
-//
-//  GKVoiceChat.h
-//  Game Center
-//
-//  Copyright 2010-2023 Apple Inc. All rights reserved.
-//
+// Copyright © Apple Inc. All rights reserved.
 
 #import <Foundation/Foundation.h>
 
@@ -17,7 +12,6 @@
 
 @class GKPlayer;
 
-
 NS_ASSUME_NONNULL_BEGIN
 /// GKVoiceChat represents an instance of a named voice communications channel
 NS_CLASS_AVAILABLE(10_8, 4_1) __WATCHOS_PROHIBITED
@@ -42,15 +36,15 @@
 
 __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:") __TVOS_UNAVAILABLE;
+@property(copy, NS_NONATOMIC_IOSONLY) void(^playerStateUpdateHandler)(NSString *playerID, GKVoiceChatPlayerState state) API_DEPRECATED_WITH_REPLACEMENT("-setPlayerVoiceChatStateDidChangeHandler:", ios(4.1,8.0), macos(10.8,10.10)) __TVOS_UNAVAILABLE;
 @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") __TVOS_UNAVAILABLE;
+@property(readonly, nullable, NS_NONATOMIC_IOSONLY) NSArray<NSString *> *playerIDs API_DEPRECATED_WITH_REPLACEMENT("-players:", ios(5.0,8.0), macos(10.8,10.10)) __TVOS_UNAVAILABLE;
 
 /*** This method is obsolete. It will never be invoked and its implementation does nothing***/
-- (void)setMute:(BOOL)isMuted forPlayer:(NSString *)playerID NS_DEPRECATED(10_8, 10_10, 5_0, 8_0, "This is never invoked and its implementation does nothing, use setPlayer:muted:") __TVOS_UNAVAILABLE;
+- (void)setMute:(BOOL)isMuted forPlayer:(NSString *)playerID API_DEPRECATED_WITH_REPLACEMENT("-setPlayer:muted:", ios(5.0,8.0), macos(10.8,10.10)) __TVOS_UNAVAILABLE;
 @end
 NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKVoiceChatService.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKVoiceChatService.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKVoiceChatService.h	2023-03-09 19:15:06
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKVoiceChatService.h	2023-05-31 04:15:21
@@ -1,9 +1,4 @@
-//
-//  GKVoiceChatService.h
-//  Game Center
-//
-//  Copyright 2010-2023 Apple Inc. All rights reserved.
-//
+// Copyright © Apple Inc. All rights reserved.
 
 /*
 
@@ -96,7 +91,6 @@
  
 */
 
-#import <TargetConditionals.h>
 #import <Foundation/Foundation.h>
 #import <GameKit/GKDefines.h>
 #import <GameKit/GKPublicProtocols.h>
@@ -105,7 +99,7 @@
 @class GKVoiceChatService;
 
 // GKVoiceChatService provides voice chat capabilities depending on your networking situation.
-NS_CLASS_DEPRECATED_IOS(3_0, 7_0, "Use GKVoiceChat instead") __TVOS_UNAVAILABLE
+NS_CLASS_DEPRECATED_IOS(3_0, 7_0, "Use GKVoiceChat instead") API_UNAVAILABLE(tvos)
 @interface GKVoiceChatService : NSObject
 
 + (GKVoiceChatService *)defaultVoiceChatService;
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GameKit.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GameKit.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GameKit.h	2023-03-04 16:25:24
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/GameKit.framework/Headers/GameKit.h	2023-05-31 04:55:09
@@ -1,13 +1,16 @@
-//
-//  GameKit.h
-//  Game Center
-//
-//  Copyright 2010-2023 Apple Inc. All rights reserved.
-//
-
 #import <TargetConditionals.h>
+
 #import <simd/simd.h>
 
+#if TARGET_OS_OSX
+
+#import <Cocoa/Cocoa.h>
+
+#import <Metal/Metal.h>
+#import <MetalKit/MetalKit.h>
+
+#elif TARGET_OS_IOS || TARGET_OS_TV || TARGET_OS_MACCATALYST
+
 #import <UIKit/UIKit.h>
 
 #if !TARGET_OS_SIMULATOR
@@ -15,21 +18,32 @@
 #import <MetalKit/MetalKit.h>
 #endif
 
+#endif
+
 #import <SpriteKit/SpriteKit.h>
 #import <SceneKit/SceneKit.h>
+
+#if !TARGET_OS_WATCH
 #import <GameplayKit/GameplayKit.h>
 #import <GameController/GameController.h>
 #import <ModelIO/ModelIO.h>
+#endif
+
+#if TARGET_OS_IOS || TARGET_OS_TV || TARGET_OS_MACCATALYST
 #import <ReplayKit/ReplayKit.h>
+#endif
 
-#import <GameKit/GKDefines.h>
 #import <GameKit/GKAccessPoint.h>
 #import <GameKit/GKAchievement.h>
 #import <GameKit/GKAchievementDescription.h>
+#import <GameKit/GKAchievementViewController.h>
 #import <GameKit/GKBasePlayer.h>
 #import <GameKit/GKChallenge.h>
 #import <GameKit/GKChallengeEventHandler.h>
+#import <GameKit/GKChallengesViewController.h>
 #import <GameKit/GKCloudPlayer.h>
+#import <GameKit/GKDefines.h>
+#import <GameKit/GKDialogController.h>
 #import <GameKit/GKError.h>
 #import <GameKit/GKEventListener.h>
 #import <GameKit/GKFriendRequestComposeViewController.h>
@@ -42,11 +56,13 @@
 #import <GameKit/GKLeaderboardEntry.h>
 #import <GameKit/GKLeaderboardScore.h>
 #import <GameKit/GKLeaderboardSet.h>
+#import <GameKit/GKLeaderboardViewController.h>
 #import <GameKit/GKLocalPlayer.h>
 #import <GameKit/GKMatch.h>
 #import <GameKit/GKMatchmaker.h>
 #import <GameKit/GKMatchmakerViewController.h>
 #import <GameKit/GKNotificationBanner.h>
+#import <GameKit/GKPeerPickerController.h>
 #import <GameKit/GKPlayer.h>
 #import <GameKit/GKPublicConstants.h>
 #import <GameKit/GKPublicProtocols.h>
Clone this wiki locally