iOS: Google Code d'Authentification

Je suis en train de travailler avec l'authentification de l'utilisateur à utiliser le compte google, il est associé avec. Le problème est que chaque fois que l'utilisateur se connecte via mon application, l'option "Autoriser l'Accès" apparaît toujours sur le Google authentification de vue même j'avais cliqué sur l'Autoriser l'Accès déjà du test précédent. Est-ce normal ou suis-je en train de faire mes codes de mal? Merci de m'aider les gars.

J'ai utilisé les codes suivants pour loggin dans un:

- (IBAction)signIn:(id)sender {
    if(!isSignedIn){
        [self signOutFromAll];

        NSString *keychainItemName = nil;

        //save keychain
        keychainItemName = kKeychainItemName;

        NSString *scope = @"https://www.googleapis.com/auth/plus.me";

        NSString *clientID = kClientID;
        NSString *clientSecret = kClientSecret;

        SEL finishedSel = @selector(viewController:finishedWithAuth:error:);

        GTMOAuth2ViewControllerTouch *viewController;
        viewController = [GTMOAuth2ViewControllerTouch controllerWithScope:scope 
                                                                  clientID:clientID 
                                                              clientSecret:clientSecret 
                                                          keychainItemName:keychainItemName 
                                                                  delegate:self 
                                                          finishedSelector:finishedSel];

        [[self navigationController]pushViewController:viewController animated:YES]; 
    } else {
        [self displayAlertWithMessage:@"Currently Signed in."];
    } }

- (IBAction)signOut:(id)sender {
    [self signOutFromAll];
    [self displayAlertWithMessage:@"Signed out."]; }

C'est pour le délégué:

- (void)viewController:(GTMOAuth2ViewControllerTouch *)viewController 
      finishedWithAuth:(GTMOAuth2Authentication *)auth 
                 error:(NSError *)error{
    if(error != nil){
        //Authentication failed...
        NSLog(@"Authentication error: %@", error);
        NSData *responseData = [[error userInfo] objectForKey:@"data"];
        if([responseData length] > 0)
            NSLog(@"%@", [[[NSString alloc]initWithData:responseData encoding:NSUTF8StringEncoding]autorelease]);
        self.auth = nil;
    } else {
        //Authentication succeeded...
        isSignedIn = YES;
        self.auth = auth;
    }
}

Et awakeFromNib:

- (void)awakeFromNib{
    //Fill in the Client ID and Client Secret text fields
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

    //First, we'll try to get the saved Google authentication, if any, from the keychain
    //Normal applications will hardcode in their client ID and client secret,
    //But the sample app allows the user to enter them in a text field, and saves them in the preferences
    NSString *clientID      = [defaults stringForKey:kGoogleClientIDKey];
    NSString *clientSecret  = [defaults stringForKey:kGoogleClientSecretKey];

    GTMOAuth2Authentication *auth;

    auth = [GTMOAuth2ViewControllerTouch authForGoogleFromKeychainForName:kKeychainItemName
                                                                 clientID:clientID
                                                             clientSecret:clientSecret];

    if (auth.canAuthorize) {
        //There is saved google authentication
        //self.serviceSegments.selectedSegmentIndex = 0;
    } 

    //Save the authentication object, which holds the auth tokens
    self.auth = auth;

    [self setAuth:auth];
    isSignedIn = self.auth.canAuthorize;
}

Par la façon dont mon de référence pour ces codes est sur ce lien: http://code.google.com/p/gtm-oauth2/wiki/Introduction#Using_the_OAuth_2_Controllers

J'ai eu valeur nulle dans "GTMOAuth2ViewControllerTouch *viewController" bien que clientID,clientSecret,keychainItemName sont corrects.Pouvez-vous explian quel est le problème ici?

OriginalL'auteur Aldee | 2012-02-10