ios – FBSDKLoginButtonDelegate不触发委托方法

登录和注销工作正常.
根据 Facebook

“Your app can get notifications of login results or logout events. To
do this assign a delegate to FBSDKLoginButton that confirms to
FBSDKLoginButtonDelegate protocol.”

我已将FBSDKLoginButtonDelegate添加到我的视图控制器,它具有以下属性:

@property (weak,nonatomic) IBOutlet FBSDKLoginButton *FacebookButton;

和.m(实现)文件具有:

@interface firstVC ()
<FBSDKLoginButtonDelegate>

@end

但问题是FBSDKLoginButtonDelegate没有调用:

- (void)  loginButton:  (FBSDKLoginButton *)loginButton
didCompleteWithResult:  (FBSDKLoginManagerLoginResult *)result
                error:  (NSError *)error{

    NSLog(@"facebook login button test");


}

并且在注销时没有调用:

- (void) loginButtonDidLogOut:(FBSDKLoginButton *)loginButton{
  NSLog(@"facebook logout button test");
}

另外,我在@interface和@end之间的标题中声明了上述方法

解决方法

我必须确保按钮的类是FBSDKLoginButton而不是UIButton,我已经完成了:
@property (weak,nonatomic) IBOutlet FBSDKLoginButton *FacebookButton;

一旦我这样做并在问题中实现了前面提到的两个类,那么修复就是在实现文件中的viewDidLoad上将按钮委托设置为self:

[FacebookButton setDelegate:self];

以上是来客网为你收集整理的ios – FBSDKLoginButtonDelegate不触发委托方法全部内容,希望文章能够帮你解决ios – FBSDKLoginButtonDelegate不触发委托方法所遇到的程序开发问题。

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