リーダーボードID

難易度Leaderboard ID
NORMALchromatic.leaderboard.normal
FASTchromatic.leaderboard.fast
INSANEchromatic.leaderboard.insane

GameCenterManager API

final class GameCenterManager {
    static let shared: GameCenterManager

    func authenticate()
    func submitScore(score: Int, difficulty: Difficulty) async
    func showLeaderboard(difficulty: Difficulty)
}

処理フロー

  1. App起動時に authenticate() で GKLocalPlayer 認証(メインスレッド保証)
  2. triggerGameOver() で submitScore() 呼出
  3. トロフィーアイコンタップで showLeaderboard() → GKGameCenterViewController

必須設定

エラー処理

認証失敗・スコア送信失敗ともにサイレントで扱う。ユーザー体験を阻害しない。

変更履歴

バージョン日付変更内容
1.02026-05-09初版作成