2013-09-30 4 views
1

Мне нужно интегрировать логин с различными социальными сетями в приложении iOS. В настоящее время я пытаюсь отобразить UserName и profilePic Image после входа пользователя в свою учетную запись google +. Я придерживался ниже учебника по YouTube для того же: http://www.youtube.com/watch?v=M6ro0mib31MUserName и profilePic Image Не отображается после входа в систему через google + в ios

Из вышеприведенного руководства мне удалось сделать логин, но я не получаю ни одного имени пользователя и профиля, оба возвращают нулевые значения.

Ниже приведены некоторые из наиболее важных методов, которые я реализовал в своем коде

//Appdelegate.m

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 

    GPPSignIn *signIn=[GPPSignIn sharedInstance]; 
    [email protected]"123456789112.apps.googleusercontent.com"; 
    [email protected][kGTLAuthScopePlusLogin]; 
    return YES; 
} 

- (BOOL)application:(UIApplication *)application 
      openURL:(NSURL *)url 
    sourceApplication:(NSString *)sourceApplication 
     annotation:(id)annotation { 

    NSLog(@"openUrl=%@", url); 
    if([GPPURLHandler handleURL:url sourceApplication:sourceApplication annotation:annotation]) 
     return YES; 

     return NO; 

} 

//LoginViewController.h

@interface LoginViewController : UIViewController<GPPSignInDelegate> 


- (IBAction)gPlusSignIn:(UIButton *)sender; 


@property (weak, nonatomic) IBOutlet UIImageView *profileImage; 


@property (weak, nonatomic) IBOutlet UILabel *displayName; 

@end 

// LoginViewController .m

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    [GPPSignIn sharedInstance].delegate=self; 
    [[GPPSignIn sharedInstance] trySilentAuthentication]; 

} 

//This method is not getting called 

-(void)finishedWithAuth:(GTMOAuth2Authentication *)auth error:(NSError *)error 
{ 
    [[[GPPSignIn sharedInstance] plusService] executeQuery:[GTLQueryPlus queryForPeopleGetWithUserId:@"me"] completionHandler:^(GTLServiceTicket *ticket, GTLPlusPerson *person, NSError *error) 
    { 
     self.profileImage.image=[UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:person.image.url]]]; 
     self.displayName.text=person.displayName; 
     //Prints null in both 
     NSLog(@"Name:%@, ProfilePic:%@",self.displayName.text,person.image.url); 
    }]; 

} 

- (IBAction)gPlusSignIn:(UIButton *)sender { 
    [[GPPSignIn sharedInstance]authenticate]; 
} 

Пожалуйста, предложите любое возможное решение для этого.

Заранее спасибо

ответ