Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 如何删除“;使用电子邮件“登录”;来自目标c中的Firebase Auth_Objective C_Firebase Authentication_Facebook Login_Google Login_Firebaseui - Fatal编程技术网

Objective c 如何删除“;使用电子邮件“登录”;来自目标c中的Firebase Auth

Objective c 如何删除“;使用电子邮件“登录”;来自目标c中的Firebase Auth,objective-c,firebase-authentication,facebook-login,google-login,firebaseui,Objective C,Firebase Authentication,Facebook Login,Google Login,Firebaseui,我通过谷歌和facebook登录,因此我使用firebase用户界面认证。我做对了,但我不想在登录页面中使用“使用电子邮件登录”按钮。我的登录页面是 我的代码如下: - (void)viewDidLoad { [super viewDidLoad]; NSLog(@"%s","viewDidLoad"); authUI = [FUIAuth defaultAuthUI]; authUI.delegate = self; NSArray<id<F

我通过谷歌和facebook登录,因此我使用firebase用户界面认证。我做对了,但我不想在登录页面中使用“使用电子邮件登录”按钮。我的登录页面是

我的代码如下:

- (void)viewDidLoad {
    [super viewDidLoad];
    NSLog(@"%s","viewDidLoad");
    authUI = [FUIAuth defaultAuthUI];
    authUI.delegate = self;
    NSArray<id<FUIAuthProvider>> *providers = @[[[FUIGoogleAuth alloc] init],[[FUIFacebookAuth alloc] init]];
    authUI.providers = providers;
}
- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];
    NSLog(@"%s","viewDidAppear");
    NSLog([self isUserSignedIn] ? @"YES":@"NO");
    if([self isUserSignedIn] == false){
        [self showLoginView];
    }
}
- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

-(BOOL)isUserSignedIn{
    NSLog(@"%s","isUserSignedIn");

    FIRUser *currentUser = [[FIRAuth auth] currentUser];
    NSLog(@"%@",currentUser);
    if(currentUser == NULL){
        return false;
    }
    else{
        return true;
    }

}
-(void)showLoginView{
    NSLog(@"%s","showLoginView");
    UINavigationController *controller = [authUI authViewController];
    if(controller){
        [self presentViewController:controller animated:YES completion:nil];
    }
}
- (void)authUI:(FUIAuth *)authUI didSignInWithUser:(nullable FIRUser *)user error:(nullable NSError *)error {
    if (error == nil) {
        NSLog(@"%@",user.email);
        NSLog(@"%@",user.displayName);
    }
    else{
        NSLog(@"%@",error);
    }
}
- (IBAction)signOut:(id)sender {
    NSError *signOutError;
    BOOL status = [[FIRAuth auth] signOut:&signOutError];
    if (!status) {
        NSLog(@"Error signing out: %@", signOutError);
        return;
    }
    else{
        NSLog(@"SignedOut");
    }
}
如何删除“使用电子邮件登录”。我只添加了谷歌和Facebook作为提供商,为什么登录页面上会显示这个额外的按钮

FUIAuth *authUI = [FUIAuth defaultAuthUI];
authUI.signInWithEmailHidden = YES;

已从视图中删除“使用电子邮件登录”按钮。

默认情况下启用电子邮件登录。有一个开放的特性请求允许禁用它,所以看起来还没有实现。在Swift 4.2中,它是
authUI.isSignInWithEmailHidden=true
FUIAuth *authUI = [FUIAuth defaultAuthUI];
authUI.signInWithEmailHidden = YES;