---
title: "report(completionHandler:)"
framework: gamekit
role: symbol
role_heading: Instance Method
path: "gamekit/gkscore/report(completionhandler:)"
---

# report(completionHandler:)

Reports a score to Game Center.

## Declaration

```swift
func report(completionHandler: (@Sendable ((any Error)?) -> Void)? = nil)
```

```swift
func report() async throws
```

## Parameters

- `completionHandler`: A block to be called after the score is reported. The block receives the following parameter:

## Discussion

Discussion The value property must be set before calling this method. When this method is called, it creates a new background task to handle the request. The method then returns control to your game. Later, when the task is complete, GameKit calls your completion handler. The completion handler is always called on the main thread.

## See Also

### Deprecated Methods and Properties

- [category](gamekit/gkscore/category.md)
- [context](gamekit/gkscore/context.md)
- [date](gamekit/gkscore/date.md)
- [formattedValue](gamekit/gkscore/formattedvalue.md)
- [leaderboardIdentifier](gamekit/gkscore/leaderboardidentifier.md)
- [player](gamekit/gkscore/player.md)
- [rank](gamekit/gkscore/rank.md)
- [value](gamekit/gkscore/value.md)
- [shouldSetDefaultLeaderboard](gamekit/gkscore/shouldsetdefaultleaderboard.md)
- [init(leaderboardIdentifier:)](gamekit/gkscore/init(leaderboardidentifier:).md)
- [init(leaderboardIdentifier:player:)](gamekit/gkscore/init(leaderboardidentifier:player:).md)
- [init(category:)](gamekit/gkscore/init(category:).md)
- [init(leaderboardIdentifier:forPlayer:)](gamekit/gkscore/init(leaderboardidentifier:forplayer:).md)
- [issueChallenge(toPlayers:message:)](gamekit/gkscore/issuechallenge(toplayers:message:).md)
- [playerID](gamekit/gkscore/playerid.md)
