GCHelper 0.5.1

GCHelper 0.5.1

测试测试
语言语言 SwiftSwift
许可证 MIT
发布最后发布2017年10月
SwiftSwift 版本4.0
SPM支持 SPM

Jack Cook 维护。



GCHelper 0.5.1

GCHelper是建立在这篇教程中描述的GameKitHelper类之上,用于Swift实现的GameKit。如果您喜欢这个项目,请随意给它加星标或关注更新。如果您在您的某个应用中使用它,我很乐意了解它的使用情况!请在Twitter上告诉我@jackcook36

特性

  • 一行代码即可实现用户认证
  • 一行代码即可更新成就
  • 在...中创建游戏匹配
  • 几乎所有事情都可以只用一行代码来实现

安装

手动

如果您喜欢不使用依赖管理器,可以下载GCHelper.swift并将其拖放到项目中。请注意,这将消除在Swift文件顶部包含import语句的需要。


实现

用户认证

在开始使用Game Center之前,用户需要登录。通常在这些应用中,这会在application:didFinishLaunchingWithOptions:方法中配置

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    GCHelper.sharedInstance.authenticateLocalUser()
    return true
}

创建匹配

为了使多人游戏正常工作,需要创建匹配。

GCHelper.sharedInstance.findMatchWithMinPlayers(2, maxPlayers: 4, viewController: self, delegate: self)

发送数据

创建匹配后,您可以使用NSData对象在玩家之间发送数据。

let success = GCHelper.sharedInstance.match.sendDataToAllPlayers(data, withDataMode: .Reliable, error: nil)
guard success else {
    print("An unknown error occured while sending data")
}

我意识到这个方法实际上并不由GCHelper提供,但将其在这里报道显然很重要。

报告成就进度

如果您在iTunes Connect中创建了任何成就,您可以使用此方法访问这些成就并更新其进度。如果特定成就不以百分比的形式使用,则可以将percent值设置为0或100。

GCHelper.sharedInstance.reportAchievementIdentifier("achievementIdentifier", percent: 35.4)

更新排行榜分数

与成就类似,如果您在iTunes Connect中创建了一个排行榜,则可以使用此方法为已登录帐户设置分数。

GCHelper.sharedInstance.reportLeaderboardIdentifier("leaderboardIdentifier", score: 87)

显示GKGameCenterViewController

GCHelper还包含一个用于显示Apple的GameKit界面的方法。这些界面可以用于显示成就、排行榜或挑战,这取决于对viewState的使用。在此案例中,self是呈现视图控制器。

GCHelper.sharedInstance.showGameCenter(self, viewState: .Achievements)

GCHelper代理方法

要接收有关匹配的更新,您可以在代码中实现三个代理方法。

匹配开始

当匹配开始时,将触发此方法。

func matchStarted() {
}

匹配结束

此方法在比赛结束时被调用,无论是由于玩家断开连接等错误,还是您实际结束比赛。

func matchEnded() {
}

接收数据

我之前提到过如何发送数据,这是您接收这些数据的方法。

func match(match: GKMatch, didReceiveData data: NSData, fromPlayer playerID: String) {
}

许可证

GCHelper 在 MIT 许可证下可用。有关详细信息,请参阅 LICENSE 文件。