Using LoginManager from the Facebook iOS SDK to login like so:
let loginManager = LoginManager()
loginManager.logIn([.publicProfile, .email], viewController: self) { (loginResult) in
The Login Dialog opens facebook.com through Safari, which has a button for me to
Log In with the Facebook App
When I click "Continue" in the Facebook app I am returned back to my app, however the Login Dialog is not dismissed even though loginResult returns .success.
This is what is displayed after returning to my app after being successfully logged in:

The only option is for me to click 'Cancel'. It seems like the Login Dialog is SFAuthenticationViewController, which currently contains 0 results on a Google search.
It seems problems other people have had in the past was that in their AppDelegate they were not calling the appropriate authorization flow processing in application:openURL:options: but that is successfully being called like so:
@available(iOS 9.0, *)
func application(_ application: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any]) -> Bool {
print("application open url\n\(url)\noptions \(options)")
if url.absoluteString.hasPrefix("fb") {
print("Finishing Facebook log in flow")
return SDKApplicationDelegate.shared.application(application, open: url, options: options)
} else {
print("Finishing Google sign in flow")
return GIDSignIn.sharedInstance().handle(url, sourceApplication:options[UIApplicationOpenURLOptionsKey.sourceApplication] as? String, annotation: [:])
}
}
The only thing I can think of is some incompatibility issues since I am using Swift 4 on iOS 11 Developer beta, and the fact that there are no results online for SFAuthenticationViewController which is seemingly being used.
I am unsure why the dialog isn't automatically being dismissed.
Update:
I created a brand new, blank app with only a single button and the FacebookCore and FacebookLogin dependencies and the issue still persists.
Steps followed:
Update:
Now working in SDK 0.3.0: https://github.com/facebook/facebook-sdk-swift/releases
Update, official response from Facebook:
Hi Gareth,
Thanks for flagging this! iOS 11 is still in beta, and we don't currently support it.
Best regards, Günay
This is a bug on devices running iOS 11. Works fine on devices running iOS 10.
Bug report filed here: https://github.com/facebook/facebook-sdk-swift/issues/172
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With