首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我登录时,从不调用FBLoginViewDelegate方法。

当我登录时,从不调用FBLoginViewDelegate方法。
EN

Stack Overflow用户
提问于 2015-03-05 18:22:04
回答 1查看 247关注 0票数 0

我有一个带按钮的ViewController

代码语言:javascript
复制
@property (weak, nonatomic) IBOutlet FBLoginView *loginButton;

在ViewDidLoad中,我设置按钮的委托

代码语言:javascript
复制
self.loginButton.delegate = self;

然后实现委托方法。

代码语言:javascript
复制
- (void)loginViewShowingLoggedInUser:(FBLoginView *)loginView {
    NSLog(@"loginViewShowingLoggedInUser");
}

- (void)loginViewFetchedUserInfo:(FBLoginView *)loginView user:(id<FBGraphUser>)user {
    NSLog(@"loginViewFetchedUserInfo");
}

当然,当我点击登录按钮时,它会带我通过Facebook登录过程。问题是,当Facebook返回我的应用程序时,不调用委托方法。然而,当我查看https://www.facebook.com/settings?tab=applications时,我发现我已经登录了。

那么,如何调用委托方法呢?是的,我有报关单

代码语言:javascript
复制
@interface MyFacebookViewController : UIViewController <FBLoginViewDelegate>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-05 18:56:33

从application:openURL:sourceApplication:annotation:中,您需要在应用程序委托中从Facebook文档调用Facebook处理程序。

代码语言:javascript
复制
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {

    // Call FBAppCall's handleOpenURL:sourceApplication to handle Facebook app responses
    BOOL wasHandled = [FBAppCall handleOpenURL:url sourceApplication:sourceApplication];

    // You can add your app-specific url handling code here if needed

    return wasHandled;
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28884983

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档