2016-08-25 37 views
0

我有一個用swift編寫的使用Facebook登錄(FBSDK 4.11.0)的iOS應用程序。該應用程序正在生產中,並且FB-login完美無缺。使用FBSDK for iOS登錄凍結

但是,在進行新更新時,我意識到我無法再使用FB登錄或註冊。登錄過程在彈出webview中授權應用程序後停止。它加載一個空白頁面並靜置。

下面的代碼是完全相同的代碼,目前在應用商店版本上運行完美。我認爲這可能與應用程序目前處於開發狀態有關,但在創建測試版並通過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) 
} 

硒這個問題的詳細資料:

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

在它們指的是這個網站,我找到了正確的設置問題:

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

+0

完美的工作!非常感謝你 – ocwendel