набор для входа в систему snapkit не работает Swift Xcode 11.3.1

Я использую Xcode 11.3.1 и пытаюсь войти в систему с помощью Snapchat с помощью loginkit. Я добавляю информацию о добавлении в info.plist, и мой код

  SCSDKLoginClient.login(from: self, completion: { success, error in

                        if let error = error {
                            print(error.localizedDescription)
                            return
                        }

                        if success {
                            self.fetchSnapUserInfo() //example code
                        }
                    })

этот код показывает мне интерфейс входа в Snapchat, и я вхожу в Snapchat со своей учетной записью. но я застрял в этом пользовательском интерфейсе введите здесь описание изображения

когда я нажимаю продолжить, ничего не происходит. Блок завершения SCSDKLoginClient не вызывается.


person balkaran singh    schedule 13.03.2020    source источник


Ответы (2)


Убедитесь, что ваша схема URL настроена правильно.

Схемы URL

person Peter    schedule 21.03.2020
comment
Схема URL настроена правильно, мое приложение смеется из приложения Snapchat, но обратный вызов не отвечает. - person balkaran singh; 25.03.2020

привет всем так наконец я нашел решение

я использую 11.3.1, и когда я создаю новый проект, я добавляю класс по умолчанию AppDelegate и SceneDelegate.

поэтому, согласно документации Snapchat logkit, я добавляю

  func application(_ app: UIApplication,
                       open url: URL,
                       options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
          return SCSDKLoginClient.application(app, open: url, options: options)
      }

в моем классе Appdelegate. но этот метод никогда не вызывается в xocode 11.3.1, поэтому решение моей проблемы таково

 func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) {
   guard let url = URLContexts.first?.url else {
       return
   }

     SCSDKLoginClient.application( UIApplication.shared, open: url, options: nil)
    }

вам нужно добавить этот метод в ваш файл sceneDelegate. тогда все работает нормально. Synpchat необходимо обновить там документ для нового xcode 11.3.1. Я надеюсь, что этот ответ поможет вам, потому что я тоже потратил 3 дня на эту проблему. Удачного кодирования :)

person balkaran singh    schedule 02.04.2020
comment
Я попробовал ваше решение, и оно сработало, но, к сожалению, SCSDKLoginClient.application( UIApplication.shared, open: url, options: nil) этот код не аутентифицирует пользователя. Как вы решили эту проблему? - person airsoftFreak; 02.05.2020
comment
@airsoftFreak, я не понимаю твоей точки зрения. Вы можете это объяснить? - person balkaran singh; 04.05.2020