我在我的应用程序中使用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];
}
答案 0 :(得分:3)
这可能不是您正在寻找的解决方案,而只是我的观点:
我喜欢Parse,但我不久前停止使用内置控制器(PFLogin / Signup,PFQueryTableView等),因为虽然它们提供了不错的开箱即用功能,但它们在生产中使用起来有点太不完整应用程序。有这么多的场景,他们只提供你想要的90%(如你现在的情况),虽然他们确实节省了一些时间,而不是滚动你自己,一旦你自己做了你,然后有一些你可以自定义的东西希望并在将来重复使用!
答案 1 :(得分:0)
- (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;
}
}