Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.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
使用Parse,您如何使用存储在iOS设备上的凭据登录facebook和twitter?_Ios_Facebook_Parsing_Twitter_Login - Fatal编程技术网

使用Parse,您如何使用存储在iOS设备上的凭据登录facebook和twitter?

使用Parse,您如何使用存储在iOS设备上的凭据登录facebook和twitter?,ios,facebook,parsing,twitter,login,Ios,Facebook,Parsing,Twitter,Login,在我的iOS应用程序中,我有它,这样用户就可以使用Facebook或Twitter登录,而且登录很好。唯一的问题是,每次用户注销和重新登录时,如果他们尝试使用Facebook或Twitter,它会要求他们再次输入信息。现在我知道iOS设备在用户登录到他们的帐户后,会将他们的Facebook和Twitter凭据存储在手机上 那么,有没有一种方法可以让用户使用手机上存储的Twitter或Facebook凭据登录到应用程序中,而不必让用户一直输入他们的Facebook或Twitter凭据 这是我到目前

在我的iOS应用程序中,我有它,这样用户就可以使用Facebook或Twitter登录,而且登录很好。唯一的问题是,每次用户注销和重新登录时,如果他们尝试使用Facebook或Twitter,它会要求他们再次输入信息。现在我知道iOS设备在用户登录到他们的帐户后,会将他们的Facebook和Twitter凭据存储在手机上

那么,有没有一种方法可以让用户使用手机上存储的Twitter或Facebook凭据登录到应用程序中,而不必让用户一直输入他们的Facebook或Twitter凭据

这是我到目前为止所拥有的

- (NSError *) loginWithFacebook {

    NSArray *permissionsArray = @[@"user_about_me", @"user_relationships", @"user_birthday", @"user_location"];

    if (![PFUser currentUser] && // Check if a user is cached
        ![PFFacebookUtils isLinkedWithUser:[PFUser currentUser]]) // Check if user is linked to Facebook
    {
         [PFFacebookUtils logInWithPermissions:permissionsArray block:^(PFUser *user, NSError *error) {
            // Display some sort of loading indicator

            if (!user) {
                if (!error) {
                    NSLog(@"The user cancelled the Facebook login.");
                    [[DEScreenManager sharedManager] stopActivitySpinner];
                }
                else {
                    NSLog(@"An error occured: %@", error);
                    [[DEScreenManager sharedManager] stopActivitySpinner];
                }
            }
            else
            {
                NSLog(@"User with facebook signed up and logged in");
                [[[[DEScreenManager getMainNavigationController] topViewController] view] setHidden:YES];
                [[DEScreenManager sharedManager] gotoNextScreen];
                [[DEScreenManager sharedManager] stopActivitySpinner];

                // Get the Facebook Profile Picture
                [self clearUserImageDefaults];
                [self getFacebookProfileInformation];
            }
        }];
    }
    return nil;
}

- (NSError *) loginWithTwitter {
    [PFTwitterUtils logInWithBlock:^(PFUser *user, NSError *error) {
        if (!user) {
            NSLog(@"Uh oh. The user cancelled the Twitter login.");
            [[DEScreenManager sharedManager] stopActivitySpinner];
            return;
        } 
        else
        {
            [[[[DEScreenManager getMainNavigationController] topViewController] view] setHidden:YES];
            [[DEScreenManager sharedManager] gotoNextScreen];
            [[DEScreenManager sharedManager] stopActivitySpinner];
            [[DEScreenManager sharedManager] stopActivitySpinner];
            [self getTwitterProfilePicture : [PFTwitterUtils twitter].userId];
            [[PFUser currentUser] setUsername:[PFTwitterUtils twitter].screenName];
            [[PFUser currentUser] saveInBackground];
            [self clearUserImageDefaults];

        }
    }];

    return nil;
}

提前感谢。

您需要在设备全局设置应用程序中检查facebook/Twitter设置,如果用户已登录,则应使用这些详细信息,不应要求用户输入任何内容。如果用户没有登录,那么登录过程的工作方式取决于是否安装了本机应用程序,在这些情况下,设备不会自动连接到用户登录的帐户。因此,你不能真正做到你想要的,因为这可能不是用户真正想要的。

检查设备全局设置应用程序中的facebook/Twitter设置是否有教程或其他帮助我了解如何做到这一点的内容@设备上的WainSettings应用程序有一个显示登录详细信息的Facebook部分