iphone – 集成facebook登录并获取用户详细信息以及ios6中的tabbarcontroller

概述我在我的应用程序中实现了facebook登录. 1 —->我能够登录facebook登录,但登录后用户可以继续使用我的应用程序,即出现三个标签项的tabbarController,同时我需要获取facebook用户详细信息(电子邮件,名字,姓氏等) 但我无法检索细节.我不明白我哪里错了. 在我的ViewController.m中: - (IBAction)performLogin:(id)send 我在我的应用程序中实现了facebook登录.

1 —->我能够登录facebook登录,但登录后用户可以继续使用我的应用程序,即出现三个标签项的tabbarController,同时我需要获取facebook用户详细信息(电子邮件,名字,姓氏等)

但我无法检索细节.我不明白我哪里错了.

在我的VIEwController.m中:

- (IBAction)performLogin:(ID)sender{    AppAppDelegate *appDelegate = (AppAppDelegate *) [[UIApplication sharedApplication] delegate];    [appDelegate openSessionWithAllowLoginUI:YES];    UITabbarController *tabbarController=[[UITabbarController alloc]init];    SearchVIEwController *searchVIEwController=[[SearchVIEwController alloc]initWithNibname:@"SearchVIEwController" bundle:nil];    UProfile *uprofile=[[UProfile alloc]initWithNibname:@"UProfile" bundle:nil];    userprofile.Title=@"My Profile";    logout *logout=[[logout alloc]initWithNibname:@"logout" bundle:nil];    logout.Title=@"Sign out";    tabbarController.vIEwControllers=[NSArray arrayWithObjects:searchVIEwController,uprofile,logout,nil];    [self presentModalVIEwController:tabbarController animated:YES];    [[NSNotificationCenter defaultCenter] addobserver:self                                             selector:@selector(sessionStateChanged:)                                                 name:FBSessionStateChangednotification                                               object:nil];}- (voID)sessionStateChanged:(NSNotification*)notification {    if (FBSession.activeSession.isOpen) {        [FBRequestConnection         startForMeWithCompletionHandler:^(FBRequestConnection *connection,ID<FBGraphUser> user,NSError *error) {             if (!error) {                 Nsstring *fbUserEmail= @"";                 NSLog(@"%@",user);                 fbUserEmail=[user objectForKey:@"email"];                 AppAppDelegate *appDelegate = (AppAppDelegate *) [[UIApplication sharedApplication] delegate];                 appDelegate.fbEmail=fbUserEmail;             }         }         ];    }}

但这里没有显示Facebook登录页面我得到tabbarController我无法检索用户的详细信息.

如何首先显示facebook登录页面,然后使用tabbarController显示用户详细信息?
成功登录Facebook后如何继续使用带有第一个tabitem(相应视图)的tabbarcontroller我的应用程序?

请帮我解决这个问题…请

解决方法 您需要设置readPermissions以获取此方法的电子邮件,方法是将NSArray传递给对象“email”.默认情况下会返回其他信息,如名称等.

+ (BOol)openActiveSessionWithReadPermissions:(NSArray*)readPermissions                                allowLoginUI:(BOol)allowLoginUI                           completionHandler:(FBSessionStateHandler)handler;

facebook sdk.如果我没有弄错,除非指定的权限是“email”,否则用户词典的电子邮件对象是nil.修改您的状态更改处理程序可能会请求用户详细信息,如电子邮件.在sessionStateChanged:handler中,如果会话打开,你可以调用一个简单的方法

if (FBSession.activeSession.isOpen) {        [[FBRequest requestForMe] startWithCompletionHandler:         ^(FBRequestConnection *connection,NSDictionary<FBGraphUser> *user,NSError *error) {             if (!error) {                 NSLog(@"%@",user);                 NSLog(@"%@",[user objectForKey:@"email"]);             }         }];    }
总结

以上是内存溢出为你收集整理的iphone – 集成facebook登录并获取用户详细信息以及ios6中的tabbarcontroller全部内容,希望文章能够帮你解决iphone – 集成facebook登录并获取用户详细信息以及ios6中的tabbarcontroller所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1004707.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存