2015-09-21 2 views
3

Я использую SDK для входа в facebook. Он отлично работает в IOS 7, 8 и 9. Но если у телефона есть приложение для входа в facebook, приложение открыто в приложении iOS 7 и 8. НО IOS 9 не открывается приложение facebook. Он открывает браузер (веб-страницу) и выполняет проверку. Какова причина? У кого-нибудь есть идея?Facebook Войти SDK в IOS 9

Отредактировано

FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init]; 
    [FBSDKProfile enableUpdatesOnAccessTokenChange:YES]; 

    [login logInWithReadPermissions:@[@"public_profile", @"email"] 
       fromViewController:self 
          handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) { 

           if (error) { 
            NSLog(@"Process error"); 
           } else if (result.isCancelled) { 
            NSLog(@"Cancelled"); 
           } else { 
            NSLog(@"Logged in"); 

            [[NSNotificationCenter defaultCenter] postNotificationName:FBSDKProfileDidChangeNotification object:nil]; 
           } 
          }]; 
+0

Вы установили 'FBSDKLoginBehaviorWeb'? –

+0

Он работает в iOS 7 и iOS 8. Только iOS 9 откройте веб-страницу – Puvanarajan

+0

, чтобы вы не открыли сафари? –

ответ

4

Это дизайн и использует SFSafariViewController на прошивке 9. Как отмечался в v4.6 changelog,

В SDK поддерживает различные IOS, 9 функций, включая битовый код. В Кроме того, SDK диалоги, такие как Имя пользователя, как, общий Диалоги автоматически определить лучший пользовательский интерфейс на основе устройства, в том числе SFSafariViewController вместо Safari

Мы знаем, что это может быть запутанным на первый, но мы, безусловно, есть та же самая цель, что и наши разработчики, чтобы пользователи получили лучший опыт работы на iOS 9 и имели хороший опыт работы с Login. На iOS 8 логин по-прежнему предпочитает переход приложения в приложение Facebook.

0

Да Puvanarajan вы установите разрешение для IOS 9 facebook входа в систему? если нет, то установить facebook permisiion в info.plist, как, как показано ниже ...

enter image description here

надеюсь, что это поможет.

+0

его не работает :( – Puvanarajan

0

Вы используете новейший SDK, если хотите войти через приложение facebook, чтобы использовать старый SDK.
Я использую SDK 4.4 номер сборки 20150708.
Также 20150813 хорошо работает.
Вы можете скачать здесь: https://developers.facebook.com/docs/ios/downloads Также добавьте некоторые строки в свой Info.plist. enter image description here enter image description here

+0

Не знаю, почему это нисходящее, оно служит цели (для меня по крайней мере). Самая новая версия sdk сделала ее непредсказуемой, если пользователь будет входить в систему из Safari VC или собственного приложения FB, когда он был установлен Это сделало проблему с зарегистрированным пользователем. Глядя здесь: http://stackoverflow.com/questions/32745663/ios-9-facebook-sdk-login-share - Саймон Кросс упоминает «свое» по дизайну », в том, что это известная проблема. Мы изучаем способы обнаружения и смягчения этого случая ». До тех пор это работает для меня на iOS 10. –

1
loginButton.loginBehavior=FBSDKLoginBehaviorWeb; 

попробуйте это, он откроется в браузере приложений.

Смежные вопросы