Facebook вход в iOS не открывает сафари при попытке входа в первый раз
Экран входа в мое приложение,
С первой попытки кнопка входа в Facebook не открывает браузер Safari, а со второй попытки работает нормально.
Ниже мой проверенный код:
FBSDKLoginManager *manager = [FBSDKLoginManager new];
manager.loginBehavior = FBSDKLoginBehaviorBrowser;
NSArray *permissions = @[@"email",@"public_profile"];
[manager logInWithReadPermissions:permissions fromViewController:self handler:^(FBSDKLoginManagerLoginResult *result, NSError *error){
if(error) {
[self showAlertWith:@"Oops!" message:@"Login Failed, try again" handler:nil];
return;
}
if(result.isCancelled) {
[self showAlertWith:@"Oops!" message:@"Login Failed, try again" handler:nil];
return;
}else {
[[[FBSDKGraphRequest alloc] initWithGraphPath:@"me"
parameters:@{@"fields": @"picture, name, email"}]
startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id userinfo, NSError *error) {
if(!error) {
if([FBSDKAccessToken currentAccessToken]) {
[self makeGraphRequest];
}
}else {
EKLog(@"error %@", error);
}
}];
}
}];
Нажав кнопку входа в первый раз loginWithReadPermission
вызывается, но блок обратного вызова никогда не вызывается, тогда как при повторном нажатии вызывается обработчик обратного вызова. Любая помощь будет оценена спасибо.
1 ответ
Решение
Вы можете попробовать одно решение, если оно работает!
объявлять FBSDKLoginManager *manager
в качестве переменной экземпляра или свойства и инициализировать его в viewDidload
лайк,
FBSDKLoginManager *manager = [FBSDKLoginManager new];
А потом пользуйся!! Это может произойти из-за местной декларации!