登录和注销工作正常.根据Facebook
"您的应用程序可以获取登录的结果或注销事件的通知.为此指派一名代表为FBSDKLoginButton,确认到FBSDKLoginButtonDelegate协议."
我已将FBSDKLoginButtonDelegate添加到我的视图控制器,它具有以下属性:
@property (weak, nonatomic) IBOutlet FBSDKLoginButton *FacebookButton;
Run Code Online (Sandbox Code Playgroud)
和.m(实现)文件具有:
@interface firstVC ()
<FBSDKLoginButtonDelegate>
@end
Run Code Online (Sandbox Code Playgroud)
但问题是FBSDKLoginButtonDelegate没有调用:
- (void) loginButton: (FBSDKLoginButton *)loginButton
didCompleteWithResult: (FBSDKLoginManagerLoginResult *)result
error: (NSError *)error{
NSLog(@"facebook login button test");
}
Run Code Online (Sandbox Code Playgroud)
并且在注销时没有调用:
- (void) loginButtonDidLogOut:(FBSDKLoginButton *)loginButton{
NSLog(@"facebook logout button test");
}
Run Code Online (Sandbox Code Playgroud)
另外,我在@interface和@end之间的标题中声明了上述方法
我必须确保按钮的类是FBSDKLoginButton而不是UIButton,我已经完成了:
@property (weak, nonatomic) IBOutlet FBSDKLoginButton *FacebookButton;
Run Code Online (Sandbox Code Playgroud)
一旦我这样做并在问题中实现了前面提到的两个类,那么修复就是在实现文件中的viewDidLoad上将按钮委托设置为self:
[FacebookButton setDelegate:self];
Run Code Online (Sandbox Code Playgroud)