iOS: приложение зависает с Facebook SDK и Google Войти - PullRequest
0 голосов
/ 10 февраля 2020

Я пытаюсь разрешить пользователю вход через Facebook, Twitter и Google. Мое приложение старое и преобразовано из swift 3 в swift 5. Вход в Twitter работает правильно, но вход в Facebook и вход в Google не работают, приложение зависает, и экран без ошибок вот так https://youtu.be/oT4i8Es0cdI

Я попробовал один и тот же код с новым проектом, и он работает правильно , Что делает старые конвертированные приложения, не работает с тем же кодом.

Я использую Facebook SDK: 5.15.1 Xcode 13.3.1 Swift 5

Код в приложении делегата открыть URL :

        _ app: UIApplication,
        open url: URL,
        options: [UIApplication.OpenURLOptionsKey : Any] = [:]
    ) -> Bool {
        print("App open url")
        let googleDidHandle = GIDSignIn.sharedInstance().handle(url)
        let twitterHandle = TWTRTwitter.sharedInstance().application(app, open: url, options: options)
        let facebookDidHandle = ApplicationDelegate.shared.application(
            app,
            open: url,
            options: options)


        return twitterHandle || facebookDidHandle || googleDidHandle

    }
**Code for login :**
 @IBAction func loginWithFacebbok(_ sender: UIButton) {
        add(loadingViewController)

        let loginManager = FBSDKLoginKit.LoginManager()

        loginManager.logIn(permissions: [ "email"], from: self) { (result, error) in
            if error == nil{
                print("get facebook data")
                self.getFacebookData(accessToken: result?.token)

            }else{
                print("error is \(error)")
            }
        }


    }


@IBAction func loginWithGmail(_ sender: UIButton) {
        //GIDSignIn.sharedInstance()?.delegate = self
        add(loadingViewController)

        GIDSignIn.sharedInstance().signIn()
    }
override func viewDidLoad() {
        super.viewDidLoad()
        GIDSignIn.sharedInstance()?.presentingViewController = self
}
in App delegate
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
FirebaseApp.configure()

        GIDSignIn.sharedInstance().clientID = FirebaseApp.app()?.options.clientID
        GIDSignIn.sharedInstance().delegate = self
LanguageHelper.setSavedLanguage()
        ApplicationDelegate.shared.application(
            application,
            didFinishLaunchingWithOptions: launchOptions
        )
        return true

}```

1 Ответ

1 голос
/ 29 марта 2020

Я нашел ответ. Проблема была в версии Xcode. После обновления до 13.4 все ок. Просто попробуйте обновить свой Xcode.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...