Դաս 19 – iOS Development: GameKit

0

Gamekit-ը շրջանակ է, որը ապահովում է ձեռքբերումներ և նոր հատկություններ iOS հավելվածում:

Քայլեր

Քայլ 1.  iTunes-ում, վստահ եղեք, որ ունեք եզակի App ID և երբ ստեղծենք հավելվածի թարմացումը bundle ID-ով և code signing-ով Xcode-ում համապատասխան կարգավորման պրոֆիլով:

Քայլ 2. Ստեղծեք նոր հավելված և թարմացրեք հավելվածի ինֆորմացիան: Կարող եք ավելի շատ ինֆորմացիա իմանալ այս  apple-add-ի մասին հավելվածների փաստաթղթերում:

Քայլ 3. Նոր ապրանք ավելացրեք in-app purchase-ի համար ձեր հավելվածի Manage In-App Purchase-ում և ավելացրեք նոր leaderboard և տվեք leaderboard ID: Գրեք leader board ID-ն որպես tutorialsPoint:

Քայլ 4. .Հաջորդ քայլերը կապված են handling code-ի և UI ստեղծելու հետ մեր In-App purchase-ում:

Քայլ 5. Ստեղծեք single view application և մուտքագրեք bundle identifier:

Քայլ 6. Թարմացրեք ViewController.xib-ը հետևյալ կերպ−

gamekitinterface

Քայլ 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

Արդյունք

Երբ հավելվածում ենք, կտեսնենք հետևյալ արդյունքը−

gamekit_output1

Երբ սեղմենք “show leader board”, հետևյալ էկրանի պատկերից կստանանք-

gamekit_output2

Երբ սեղմենք “update score”, հաշիվը կթարմացվի և կստանանք զգուշացում

gamekit_output3

Հարգելի ընթերցող, խնդրում ենք չմոռանալ like տալ մեր ֆեյսբուքյան էջին, քանի որ նորությունների մեծ մասը առաջինը տեղադրվում է հենց այնտեղ։ Ինչպես նաև հետևեք մեզ այլ սոցիալական ցանցերում և, իհարկե, գրանցվեք մեր բլոգում։

Share.