Game Center Authentication Successful & Failure (iOS 7, Objective C) -


i've followed few tutorials & apple documentation on authenticating local player game center functionality using objective c. currently, our beta version has functioning game center authentication leaderboards. however, seems wrong authentication achievements, because none of our achievements coming across itunes connect. viewcontroller.m, first authentication occurs shown below:

- (void)viewdidappear:(bool)animated { [super viewdidappear:animated];  [[nsnotificationcenter defaultcenter]  addobserver:self  selector:@selector(showauthenticationviewcontroller)  name:presentauthenticationviewcontroller  object:nil];  [[gamekithelper sharedgamekithelper] authenticatelocalplayer]; }  - (void)showauthenticationviewcontroller { gamekithelper *gamekithelper = [gamekithelper sharedgamekithelper]; uiviewcontroller *vc = self.view.window.rootviewcontroller; [vc presentviewcontroller: gamekithelper.authenticationviewcontroller animated:yes completion:nil]; } 

within gamekithelper, next authentication step occurs:

- (void)authenticatelocalplayer { //1 gklocalplayer *localplayer = [gklocalplayer localplayer];  localplayer.authenticatehandler = ^(uiviewcontroller *viewcontroller, nserror *error) {     //3     [self setlasterror:error];      if(viewcontroller != nil) {         //4         [self setauthenticationviewcontroller:viewcontroller];     } else if([gklocalplayer localplayer].isauthenticated) {         //5         _enablegamecenter = yes;         nslog(@"successful");     } else {         //6         _enablegamecenter = no;         nslog(@"failure");     }   }; } 

when loading achievements, following function used:

-(void)achievementload { if (_enablegamecenter) {     [gkachievement loadachievementswithcompletionhandler:^(nsarray *achievements, nserror *error) {         if (error != nil) {             nslog(@"error in loading achievements.");         }         if (achievements != nil) {             //process achievements.             (gkachievement *temp in achievements) {                 //temp                 [[gamekithelper sharedgamekithelper].achievementsdictionary setobject:temp forkey:temp.identifier];                 //[_achievementsdictionary setobject:temp forkey:temp.identifier];             }             nslog(@"achievements retrievemented");         }     }];   } else {     nslog(@"achievements not loaded");   } } 

when attempting retrieve achievements, game report "error code 6: player not authenticated" (error != nil true). then, when try utilize achievements dictionary, it's set nil, doesn't make sense.

i've got itunes connect info active game center, , i've logged in sandbox account. there else i'm doing wrong?

any appreciated. thanks!

  1. make sure on developer.apple.com, under identifiers, check app, validate "game center on".
  2. in xcode make sure in target under capabilities make sure game center switch on.
  3. make sure including gamekit.framework (build phases, link binary library).
  4. in itunes connect, app, make sure version numbers same in app , in itunes connect.
  5. in itunes connect in app version (pre-submission), make sure game center button on version, , have added leaderboards / achievements in app version screen (click +).
  6. make sure ios device logged game center (logout , log in sure).

Popular posts from this blog