I keep getting
"Error Domain=com.facebook.sdk.login Code=308 "The operation couldn’t be completed. (com.facebook.sdk.login error 308.)""
upon trying to login with Facebook from my device.
My code works on the simulator, but not on an actual device. Has anyone ran into this error code before? I'll be more than happy to share code upon request.
One solution, at least for me, is to not run on device via the Xcode debugger. If I run the app on device outside the debugger the Facebook login works fine. If I run the app in the sim via the debugger the Facebook login works fine.
Only if I run the app on device via the Xcode debugger do I get the com.facebook.sdk.login error 308 every time.
Same problem FB SDK 4.5.1 and none of the above solutions worked for me. I solved this by adding Bolts framework to project by drag & drop (from FacebookSDK directory)
and then adding bolts framework to appDelegate
You should enable Keychain Sharing on the Capabilities tab.
The solution below works for iOS9 + running on Xcode 8, for Swift3.0
The steps are
FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: launchOptions)
Setup Open Url
guard let source = options[UIApplicationOpenURLOptionsSourceApplicationKey] as? String else { return false } let annotation = options[UIApplicationOpenURLOptionsAnnotationKey] as? String return FBSDKApplicationDelegate.sharedInstance().application(application, open: url, sourceApplication: source, annotation: annotation)
In my case it was fixed by updating to latest FB SDK. 4.10 at the moment.
I was able to get login working again on iOS9 with SDK 4.6.0 by adding the new plist key/value
Source code.
I also took the steps in some other answers here to implement a shared FBSDKLoginManager() instance.