- iOS教程
- iOS - 主页
- iOS - 入门
- iOS - 环境设置
- iOS - Objective-C 基础知识
- iOS - 第一个 iPhone 应用程序
- iOS - 操作和出口
- iOS - 代表
- iOS - UI 元素
- iOS - 加速度计
- iOS - 通用应用程序
- iOS - 相机管理
- iOS - 位置处理
- iOS-SQLite 数据库
- iOS - 发送电子邮件
- iOS - 音频和视频
- iOS - 文件处理
- iOS - 访问地图
- iOS - 应用内购买
- iOS - iAd 集成
- iOS - 游戏套件
- iOS - 故事板
- iOS - 自动布局
- iOS - 推特和脸书
- iOS - 内存管理
- iOS - 应用程序调试
- iOS 有用资源
- iOS - 快速指南
- iOS - 有用的资源
- iOS - 讨论
iOS - 游戏套件
Gamekit 是一个为 iOS 应用程序提供排行榜、成就和更多功能的框架。在本教程中,我们将解释添加排行榜和更新分数所涉及的步骤。
涉及的步骤
步骤 1 - 在 iTunes 连接中,确保您拥有唯一的应用程序 ID ,并且当我们使用捆绑包 ID创建应用程序更新时,并使用相应的配置文件在 Xcode 中进行代码签名。
步骤 2 - 创建新应用程序并更新应用程序信息。您可以在苹果添加新应用程序文档中了解更多相关信息。
步骤 3 - 在应用程序页面的“管理游戏中心”中设置排行榜,其中添加单个排行榜并提供排行榜 ID和分数类型。这里我们将排行榜ID指定为tutorialsPoint。
步骤 4 - 接下来的步骤与处理代码和为我们的应用程序创建 UI 相关。
步骤 5 - 创建一个单一视图应用程序并输入捆绑标识符是iTunes connect中指定的标识符。
步骤 6 - 更新 ViewController.xib,如下所示 -
步骤 7 - 选择您的项目文件,然后选择目标,然后添加GameKit.framework。
步骤 8 -为我们添加的按钮创建IBActions 。
步骤 9 - 更新ViewController.h文件如下 -
#import <UIKit/UIKit.h> #import <GameKit/GameKit.h> @interface ViewController : UIViewController <GKLeaderboardViewControllerDelegate> -(IBAction)updateScore:(id)sender; -(IBAction)showLeaderBoard:(id)sender; @end
步骤 10 - 更新ViewController.m如下 -
#import "ViewController.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; if([GKLocalPlayer localPlayer].authenticated == NO) { [[GKLocalPlayer localPlayer] authenticateWithCompletionHandler:^(NSError *error) { NSLog(@"Error%@",error); }]; } } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } - (void) updateScore: (int64_t) score forLeaderboardID: (NSString*) category { GKScore *scoreObj = [[GKScore alloc] initWithCategory:category]; scoreObj.value = score; scoreObj.context = 0; [scoreObj reportScoreWithCompletionHandler:^(NSError *error) { // Completion code can be added here UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil message:@"Score Updated Succesfully" delegate:self cancelButtonTitle:@"Ok" otherButtonTitles: nil]; [alert show]; }]; } -(IBAction)updateScore:(id)sender { [self updateScore:200 forLeaderboardID:@"tutorialsPoint"]; } -(IBAction)showLeaderBoard:(id)sender { GKLeaderboardViewController *leaderboardViewController = [[GKLeaderboardViewController alloc] init]; leaderboardViewController.leaderboardDelegate = self; [self presentModalViewController: leaderboardViewController animated:YES]; } #pragma mark - Gamekit delegates - (void)leaderboardViewControllerDidFinish: (GKLeaderboardViewController *)viewController { [self dismissModalViewControllerAnimated:YES]; } @end
输出
当我们运行该应用程序时,我们将得到以下输出 -
当我们单击“显示排行榜”时,我们将看到类似于以下内容的屏幕 -
当我们点击“更新分数”时,分数将更新到我们的排行榜,我们将收到如下所示的警报 -