2016-08-25 2 views
0

У меня есть приложение iOS, написанное в swift, которое использует вход в Facebook (FBSDK 4.11.0). Приложение находится в производстве, а FB-login работает отлично.Login freezes using FBSDK для iOS

Однако, работая над новым обновлением, я понял, что я больше не могу войти или зарегистрироваться с помощью FB. Процесс регистрации останавливается после авторизации приложения во всплывающем веб-просмотре. Он загружает пустую страницу и стоит на месте.

код ниже - тот же самый код, который в настоящий момент отлично работает в версии в магазине приложений. Я думал, что это может быть связано с тем, что приложение в настоящее время находится в dev, но после создания бета-версии и загрузки его через testflight я все равно получаю ту же проблему.

Вот мой код.

func fbLoginInitiate() { 
     if hasSeenPermissionPopup(LoginType.Facebook){ 
      Globals.mixpanel.track("Initiated FB login") 
      FBSDKLoginManager().logInWithReadPermissions(["public_profile", "email", "user_birthday"], fromViewController: self, handler: {(result:FBSDKLoginManagerLoginResult!, error:NSError!) -> Void in 
       if (error != nil) { 
        // Process error 
        self.removeFbData() 
       } else if result.isCancelled { 
        // User Cancellation 
        self.removeFbData() 
       } else { 
        //Success 
        if result.grantedPermissions.contains("email") && result.grantedPermissions.contains("public_profile") && result.grantedPermissions.contains("user_birthday") { 
         //Do work 
         self.fetchFacebookProfile() 
        } else { 
         Globals.mixpanel.track("Facebook login failed") 
         SweetAlert().showAlert("Ooops!", subTitle: "Noe gikk galt. Ta kontakt med Mojob dersom feilen vedvarer", style: AlertStyle.Warning) 
        } 
       } 
      }) 
     } 
    } 

Ошибка обратного вызова равна нулю, и результат только показывает, отменяет ли запрос. Я не внес никаких изменений в info.plist или любые другие настройки, которые связаны с FB в приложении.

Если кто-то испытал что-либо подобное, я бы очень хотел услышать о том, как вы решили проблему.

Первая часть входа работает, как ожидалось

enter image description here

Вторая часть замерзает

enter image description here

+0

В какой версии iOS вы находитесь? Заметил то же самое на iOS 10 .. – donnywals

+0

Я нахожусь на версии 9.3.2 – ocwendel

+0

Спасибо! Действительно ценю это! – ocwendel

ответ

0

Ваш AppDelegate правильно настроен на facebook SDK? Если нет, вы должны добавить следующие функции к нему:

func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject) -> Bool { 
      return FBSDKApplicationDelegate.sharedInstance().application(application, openURL: url, sourceApplication: sourceApplication, annotation: annotation) 
     } 

application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 
FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: launchOptions) 
} 

Se этот вопрос для получения дополнительной информации:

https://github.com/facebook/react-native-fbsdk/issues/72

В вопросе они ссылаются на этот сайт, где я нашел правильную установку:

https://developers.facebook.com/docs/ios/getting-started#delegate

+0

Это сработало отлично! большое спасибо – ocwendel