GameCenterUI

将 GameCenter 与 SwiftUI 集成的最简单方法。

描述

GameCenterUI 允许从 SwiftUI 使用 Apple 的 GameKit 框架。 支持 iOS 和 Mac。

演示

GameCenterUI demo gif

用法

App 结构中调用 .enableGameCenter() 以使用 GameCenter 进行身份验证。

import SwiftUI
import GameCenterUI

@main
struct MyApp: App {
    var body: some Scene {
        WindowGroup {
            ContentView()
                .enableGameCenter()
        }
    }
}

一个视图,在按钮中显示最高分,如果已通过身份验证,则预设排行榜。 如果未通过身份验证,该按钮会将用户带到偏好设置,用户可以在其中登录到 GameCenter。

struct MyGameView: View {
    @Binding var highscore: Int

    @Environment(\.gameCenterIsAuthenticated) var gameCenterIsAuthenticated
    @State var showGameCenter = false
    
    var body: some View {
        if gameCenterIsAuthenticated {
            Button("Highscore \(highscore)") {
                showGameCenter.toggle()
            }
            .gameCenter(
                isPresented: $showGameCenter,
                launchOption: .leaderBoardID(
                    id: "SomeLeaderboardID",
                    playerScope: .global,
                    timeScope: .allTime))
        } else {
            Button("Log in to game center") {
                openGameCenterConfiguration()
            }
        }
    }
}

安装

Package.swift

编辑 Package.swift 文件。 将 GamCenterUI 添加为依赖项

let package = Package(
    name: " ... ",
    products: [ ... ],
    dependencies: [
        .package(url: "https://github.com/berikv/GameCenterUI.git", from: "1.0.0") // here
    ],
    targets: [
        .target(
            name: " ... ",
            dependencies: [
                "GameCenterUI" // and here
            ]),
    ]
)

对于 .xcodeproj 项目

  1. 打开菜单 文件 > 添加包...
  2. 搜索“https://github.com/berikv/GameCenterUI.git”,然后单击“添加包”。
  3. 打开你的项目文件,在“Targets”(目标)中选择你的目标。
  4. 打开 Dependencies(依赖项)
  5. 单击 + 号
  6. 添加 GameCenterUI