GKGameSession
A game session you can use to save game data, invite other players, and create turn-based and real-time game apps.
Declaration
class GKGameSessionOverview
Use a GKGameSession object to play turn-based and real-time games in iCloud. Every instance of a game session resides inside of an iCloud container. You can create multiple sessions for a single app, allowing players to play several games at once. All of the information for a game session is saved in the owner’s iCloud.
Each session can contain a maximum of 100 players. Inside of a session, up to 16 of those players can be connected to each other in real-time. The 16 connected players can be selected from any of the 100 players in the session. You can change a connected player with another player in the session at any time.
After a game session is created, you can save game data in iCloud. Each game session can save a maximum of 512KB data. This prevents games from using a large about of space in a user’s iCloud account. This data can be loaded, edited, and saved by anyone in the game session, providing your app provides this behavior. You must ensure that you delete a game session from a user’s iCloud after a game is over, otherwise the session will stay in the user’s iCloud forever. Game sessions are not automatically removed after a set amount of time. They can only be actively removed.
Topics
Creating and Loading Game Sessions
createSession(inContainer:withTitle:maxConnectedPlayers:completionHandler:)load(withIdentifier:completionHandler:)loadSessions(inContainer:completionHandler:)remove(withIdentifier:completionHandler:)
Accessing Information About a Game Session
Inviting Players to a Game Session
Saving and Loading Data
Listening for Events
Connecting Players for Real-Time Communication
setConnectionState(_:completionHandler:)players(with:)send(_:with:completionHandler:)GKTransportType
Communicating Between Players
See Also
Deprecated classes
GKAchievementViewControllerGKChallengeEventHandlerGKChallengesViewControllerGKChallengeGKScoreChallengeGKAchievementChallengeGKCloudPlayerGKGameCenterViewControllerGKGameSessionSharingViewControllerGKFriendRequestComposeViewControllerGKLeaderboardViewControllerGKPeerPickerControllerGKScoreGKSessionGKTurnBasedEventHandler