Я использовал вход в систему через Facebook в своем приложении, и он работает хорошо. Я использую Facebook sdk 3.10, но он просто перенаправляет меня в веб-браузер и открывает страницу входа в Facebook с разрешением pr, если сеанс уже существует, но я не хочу таким образом, я хочу, чтобы всплывающее окно входа в Facebook, как в предыдущих SDK, должно было открыться, и там я заполняю учетные данные, мой код ниже, пожалуйста, что я могу изменить в этом, чтобы сделать то же самое.
NSArray *permissions =[NSArray arrayWithObjects:@"email",@"user_location",@"user_about_me",@"user_photos",@"xmpp_login", nil];
NSHTTPCookie *cookie;
NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
for (cookie in [storage cookies])
{
[storage deleteCookie:cookie];
}
[[NSUserDefaults standardUserDefaults] synchronize];
[FBSession openActiveSessionWithReadPermissions:permissions
allowLoginUI:YES
completionHandler:^(FBSession *session,
FBSessionState status,
NSError *error)
{
// if login fails for any reason, we alert
if (error) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error"
message:error.localizedDescription
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
}
else if (FB_ISSESSIONOPENWITHSTATE(status))
{
FBRequest *me = [[FBRequest alloc] initWithSession:session
graphPath:@"me?fields=id,picture.type(large),first_name,last_name,email,gender,birthday,username,hometown"];
[me startWithCompletionHandler:^(FBRequestConnection *connection,
NSDictionary<FBGraphUser> *aUser,
NSError *error)
{
fbDetails = [[NSDictionary alloc]init];
fbDetails=[aUser copy];
facebookDetail = [appParser getUserFbDetail:fbDetails];
}];
}
}];