iOS GameKit iOS iAd集成 iOS故事板 Gamekit是一个框架,为iOS应用程序提供领导板,成就和更多功能。在本教程中,我们将解释添加排行榜和更新分数所涉及的步骤。 涉及的步骤 步骤1 - 在iTunes连接中,确保您拥有 唯一的应用程序ID, 以及何时使用 捆绑包ID 和Xcode中的代码签名以及相应的配置文件创建应用程序更新。 第2步 - 创建新应用程序并更新应用程序信息。 您可以在Apple-add新应用文档中了解更多相关信息。 步骤3 - 在 应用程序页面的 管理游戏中心 设置排行榜,添加单个排行榜并提供 排行榜ID 和分数类型。在这里,我们将leader Board ID作为CodingDict。 第4步 - 接下来的步骤与处理代码和为我们的应用程序创建UI有关。 步骤5 - 创建 单个视图应用程序 并输入 bundle标识符 是 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:@"CodingDict"]; } -(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 输出 当我们运行应用程序时,我们将获得以下输出 当我们点击“显示排行榜”时,我们会得到一个类似于以下的屏幕 - 当我们点击“更新分数”时,分数将更新到我们的排行榜,我们将收到如下所示的警报 - iOS iAd集成 iOS故事板