У меня есть два приложения в Apple Store, оба совместно используют часть кода, но правильно настроены для работы в качестве двух разных приложений.
Вход в Facebook работал корректно на версиях FBSDKCoreKit (4.39.1)
и FBSDKLoginKit (4.39.1)
, но когда я запустил pod update
и эти модули, обновленные до версии 5.0.0
, вход в систему через Facebook перестает работать правильно, даже после внесения необходимых изменений в мой логин.
Проблема в том, что если я нажму кнопку Login with Facebook
первого приложения, если я решу использовать приложение Facebook, оно перенаправляется ко второму приложению, а не к первому. Но, если я захожу на веб-модал, он работает нормально.
У меня есть разные идентификаторы приложений Facebook для обоих приложений, и оба поддерживают Login with Facebook
.
Мой AppDelegate.swift
настроен так:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
FBSDKCoreKit.ApplicationDelegate.shared.application(application, didFinishLaunchingWithOptions: launchOptions)
return true
}
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
let handle = FBSDKCoreKit.ApplicationDelegate.shared.application(app, open: url, options: options)
return handle
}
(оба приложения совместно используют AppDelegate.swift
)
И мой LoginViewController
настроен:
@IBAction func loginWithFacebookClicked() {
let fbLoginManager: LoginManager = LoginManager()
if AccessToken.current != nil {
fbLoginManager.logOut()
}
fbLoginManager.loginBehavior = .browser
fbLoginManager.logIn(permissions: ["email"], from: self) { (result, error) in
if (error == nil && !result!.isCancelled) {
if let token = AccessToken.current?.tokenString {
self.facebookLogin(token)
}
}
}
}
Приложения имеют разные LoginViewController
, но код тот же.
У меня нет ошибок, и оба входа работают, только обратный вызов приложения, которого нет. Пожалуйста, если кто-нибудь сможет мне помочь, я буду очень признателен.