检测Facebook登录失败
我在我的应用程序中使用了检测Facebook登录失败,facebook,parse-platform,facebook-ios-sdk,Facebook,Parse Platform,Facebook Ios Sdk,我在我的应用程序中使用了PFLogInViewController子类,允许用户使用Facebook登录,这非常有效,但是如果用户改变主意,拒绝我的应用程序访问Facebook帐户,登录将停止工作(如预期的那样),但加载指示器只是旋转。我从来没有收到一个错误告诉我它无法登录,这只是一个无限循环 知道如何检测故障并阻止UI显示加载指示器吗 代码如下,只是简单的子类化和一些视觉上的调整 - (void)viewDidLoad { [super viewDidLoad]; // C
PFLogInViewController
子类,允许用户使用Facebook登录,这非常有效,但是如果用户改变主意,拒绝我的应用程序访问Facebook帐户,登录将停止工作(如预期的那样),但加载指示器只是旋转。我从来没有收到一个错误告诉我它无法登录,这只是一个无限循环
知道如何检测故障并阻止UI显示加载指示器吗
代码如下,只是简单的子类化和一些视觉上的调整
- (void)viewDidLoad
{
[super viewDidLoad];
// Customize the default parse login view
[self setupUI];
}
- (void)setupUI {
[self.logInView setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"bg"]]];
[self.logInView setLogo:[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"fdbk_logo"]]];
// Set buttons appearance
[self.logInView.facebookButton setImage:nil forState:UIControlStateNormal];
[self.logInView.facebookButton setImage:nil forState:UIControlStateHighlighted];
[self.logInView.facebookButton setBackgroundImage:[UIImage imageNamed:@"fb_login_btn"] forState:UIControlStateNormal];
[self.logInView.facebookButton setTitle:@"" forState:UIControlStateNormal];
[self.logInView.facebookButton setTitle:@"" forState:UIControlStateHighlighted];
}
这可能不是您想要的解决方案,但只是我的意见: 我喜欢解析,但我不久前就停止使用它们的内置控制器(PFLogin/Signup、PFQueryTableView等),因为虽然它们提供了良好的开箱即用功能,但它们太不完整,无法在生产应用程序中使用。在很多情况下,它们只提供您所需的90%(如您现在的情况),虽然它们确实比自己滚动节省了一些时间,但一旦您自己做了,您就可以定制一些您想要的东西,并在将来重复使用
- (void)sessionStateChanged:(FBSession *)session state:(FBSessionState) state error:(NSError *)error {
switch (state) {
case FBSessionStateClosedLoginFailed:
//login failed, do whatever you need to do
break;
default:
break;
}
}