@@ -449,6 +449,10 @@ interface GKCloudPlayer
449449[ BaseType ( typeof ( GKBasePlayer ) ) ]
450450// note: NSSecureCoding conformity is undocumented - but since it's a runtime check (on ObjC) we still need it
451451interface GKPlayer : NSSecureCoding {
452+
453+ [ Deprecated ( PlatformName . iOS , 13 , 0 , message : "Use 'TeamPlayerId' instead." ) ]
454+ [ Deprecated ( PlatformName . TvOS , 13 , 0 , message : "Use 'TeamPlayerId' instead." ) ]
455+ [ Deprecated ( PlatformName . MacOSX , 10 , 15 , message : "Use 'TeamPlayerId' instead." ) ]
452456[ Export ( "playerID" , ArgumentSemantic . Retain ) ]
453457string PlayerID { get ; }
454458
@@ -492,6 +496,21 @@ interface GKPlayer : NSSecureCoding {
492496[ Mac ( 10 , 11 ) ]
493497[ Export ( "guestIdentifier" ) ]
494498string GuestIdentifier { get ; }
499+
500+ [ NoWatch ]
501+ [ TV ( 12 , 4 ) ] [ Mac ( 10 , 14 , 6 ) ] [ iOS ( 12 , 4 ) ]
502+ [ Export ( "gamePlayerID" , ArgumentSemantic . Retain ) ]
503+ string GamePlayerId { get ; }
504+
505+ [ NoWatch ]
506+ [ TV ( 12 , 4 ) ] [ Mac ( 10 , 14 , 6 ) ] [ iOS ( 12 , 4 ) ]
507+ [ Export ( "teamPlayerID" , ArgumentSemantic . Retain ) ]
508+ string TeamPlayerId { get ; }
509+
510+ [ NoWatch ]
511+ [ TV ( 13 , 0 ) ] [ Mac ( 10 , 15 ) ] [ iOS ( 13 , 0 ) ]
512+ [ Export ( "scopedIDsArePersistent" ) ]
513+ bool ScopedIdsArePersistent { get ; }
495514}
496515
497516[ Watch ( 3 , 0 ) ]
@@ -653,7 +672,7 @@ interface GKLeaderboardViewController
653672interface GKLeaderboardViewController : UIAppearance
654673#endif
655674{
656- [ Export ( "leaderboardDelegate" , ArgumentSemantic . Assign ) , NullAllowed ]
675+ [ Export ( "leaderboardDelegate" , ArgumentSemantic . Weak ) , NullAllowed ]
657676NSObject WeakDelegate { get ; set ; }
658677
659678[ Wrap ( "WeakDelegate" ) ]
@@ -819,6 +838,22 @@ interface GKLocalPlayer
819838[ Mac ( 10 , 10 ) ]
820839[ Export ( "resolveConflictingSavedGames:withData:completionHandler:" ) ]
821840void ResolveConflictingSavedGames ( GKSavedGame [ ] conflictingSavedGames , NSData data , [ NullAllowed ] Action < GKSavedGame [ ] , NSError > handler ) ;
841+
842+ [ NoWatch ]
843+ [ TV ( 13 , 0 ) ] [ Mac ( 10 , 15 ) ] [ iOS ( 13 , 0 ) ]
844+ [ Export ( "multiplayerGamingRestricted" ) ]
845+ bool MultiplayerGamingRestricted { [ Bind ( "isMultiplayerGamingRestricted" ) ] get ; }
846+
847+ [ TV ( 13 , 0 ) ] [ Mac ( 10 , 15 ) ] [ iOS ( 13 , 0 ) ] [ Watch ( 6 , 0 ) ]
848+ [ Export ( "loadChallengableFriendsWithCompletionHandler:" ) ]
849+ [ Async ]
850+ void LoadChallengableFriends ( [ NullAllowed ] Action < GKPlayer [ ] , NSError > completionHandler ) ;
851+
852+ [ NoWatch ]
853+ [ TV ( 13 , 0 ) ] [ Mac ( 10 , 15 ) ] [ iOS ( 13 , 0 ) ]
854+ [ Static ]
855+ [ Export ( "local" ) ]
856+ GKLocalPlayer Local { get ; }
822857}
823858
824859[ NoWatch ]
@@ -1090,6 +1125,11 @@ interface GKMatchRequest {
10901125[ NullAllowed ] // by default this property is null
10911126[ Export ( "recipients" , ArgumentSemantic . Retain ) ]
10921127GKPlayer [ ] Recipients { get ; set ; }
1128+
1129+ [ NoWatch ]
1130+ [ TV ( 13 , 0 ) ] [ Mac ( 10 , 15 ) ] [ iOS ( 13 , 0 ) ]
1131+ [ Export ( "restrictToAutomatch" ) ]
1132+ bool RestrictToAutomatch { get ; set ; }
10931133}
10941134
10951135[ NoWatch ]
@@ -1228,7 +1268,7 @@ interface GKMatchmakerViewController
12281268[ Protocolize ]
12291269GKMatchmakerViewControllerDelegate MatchmakerDelegate { get ; set ; }
12301270
1231- [ Export ( "matchRequest" , ArgumentSemantic . Retain ) ]
1271+ [ Export ( "matchRequest" , ArgumentSemantic . Strong ) ]
12321272GKMatchRequest MatchRequest { get ; }
12331273
12341274[ Export ( "hosted" , ArgumentSemantic . Assign ) ]
@@ -1562,7 +1602,7 @@ interface GKAchievementViewController
15621602interface GKAchievementViewController : UIAppearance
15631603#endif
15641604{
1565- [ Export ( "achievementDelegate" , ArgumentSemantic . Assign ) , NullAllowed ]
1605+ [ Export ( "achievementDelegate" , ArgumentSemantic . Weak ) , NullAllowed ]
15661606#if! MONOMAC
15671607[ Override ]
15681608#endif
@@ -1576,7 +1616,7 @@ interface GKAchievementViewController : UIAppearance
15761616#ifMONOMAC
15771617[ BaseType ( typeof ( NSResponder ) ) ]
15781618interface GKDialogController {
1579- [ Export ( "parentWindow" , ArgumentSemantic . Assign ) ]
1619+ [ Export ( "parentWindow" , ArgumentSemantic . Weak ) ]
15801620NSWindow ParentWindow { get ; set ; }
15811621
15821622[ Export ( "presentViewController:" ) ]
@@ -1959,7 +1999,7 @@ interface GKTurnBasedMatchmakerViewController : UIAppearance
19591999[ Export ( "initWithMatchRequest:" ) ]
19602000IntPtr Constructor ( GKMatchRequest request ) ;
19612001
1962- [ Export ( "turnBasedMatchmakerDelegate" , ArgumentSemantic . Assign ) , NullAllowed ]
2002+ [ Export ( "turnBasedMatchmakerDelegate" , ArgumentSemantic . Weak ) , NullAllowed ]
19632003NSObject WeakDelegate { get ; set ; }
19642004
19652005[ Wrap ( "WeakDelegate" ) ]
@@ -2081,7 +2121,7 @@ interface GKGameCenterViewController
20812121[ Export ( "initWithNibName:bundle:" ) ]
20822122IntPtr Constructor ( [ NullAllowed ] string nibNameOrNull , [ NullAllowed ] NSBundle nibBundleOrNull ) ;
20832123
2084- [ Export ( "gameCenterDelegate" , ArgumentSemantic . Assign ) , NullAllowed ]
2124+ [ Export ( "gameCenterDelegate" , ArgumentSemantic . Weak ) , NullAllowed ]
20852125NSObject WeakDelegate { get ; set ; }
20862126
20872127[ Wrap ( "WeakDelegate" ) ]
@@ -2100,15 +2140,15 @@ interface GKGameCenterViewController
21002140
21012141[ NoTV ]
21022142[ NullAllowed ] // by default this property is null
2103- [ Export ( "leaderboardCategory" , ArgumentSemantic . Retain ) ]
2143+ [ Export ( "leaderboardCategory" , ArgumentSemantic . Strong ) ]
21042144[ Deprecated ( PlatformName . iOS , 7 , 0 , message : "Use 'LeaderboardIdentifier' instead." ) ]
21052145[ Deprecated ( PlatformName . MacOSX , 10 , 10 , message : "Use 'LeaderboardIdentifier' instead." ) ]
21062146string LeaderboardCategory { get ; set ; }
21072147
21082148[ NoTV ]
21092149[ iOS ( 7 , 0 ) ] [ Mac ( 10 , 10 ) ] // Marked 10.9 in header, apple 17612948
21102150[ NullAllowed ] // by default this property is null
2111- [ Export ( "leaderboardIdentifier" ) ]
2151+ [ Export ( "leaderboardIdentifier" , ArgumentSemantic . Strong ) ]
21122152string LeaderboardIdentifier { get ; set ; }
21132153}
21142154