An object that responds to challenge events.


protocol GKChallengeListener


Your app can ignore a challenge, start up in a specific state so the player can respond to a challenge, or notify the original challenger when the local player completes a challenge.

Do not implement GKChallengeListener directly, instead use GKLocalPlayerListener. The GKLocalPlayerListener protocol inherits methods from GKChallengeListener, GKInviteEventListener, GKSavedGameListener, and GKTurnBasedEventListener in order to handle multiple events.


Responding to a Challenge

func player(GKPlayer, didReceive: GKChallenge)

Called when a player receives a challenge and doesn’t want to address it immediately.

func player(GKPlayer, wantsToPlay: GKChallenge)

Called when a player wants to start a game with the intention of completing a challenge.

Completing a Challenge

func player(GKPlayer, didComplete: GKChallenge, issuedByFriend: GKPlayer)

Called when the player completes a challenge that was issued by a friend.

func player(GKPlayer, issuedChallengeWasCompleted: GKChallenge, byFriend: GKPlayer)

Called when a friend completes a challenge that was sent to them by the player.


Inherits From

See Also


class GKChallenge

An object representing a challenge issued by the local player to another player.

class GKScoreChallenge

An object representing a challenge based on a score in a leaderboard.

class GKAchievementChallenge

A challenge sent to another player urging them to complete a specific achievement.

Beta Software

This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.

Learn more about using Apple's beta software