FBSDK Login Error Code: 308 in Objective-C

2019-03-08 09:51发布

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.

18条回答
看我几分像从前
2楼-- · 2019-03-08 09:55

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.

查看更多
Ridiculous、
3楼-- · 2019-03-08 09:56

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

    #import <bolts/bolts.h>
查看更多
我欲成王,谁敢阻挡
4楼-- · 2019-03-08 09:57

You should enable Keychain Sharing on the Capabilities tab.

查看更多
萌系小妹纸
5楼-- · 2019-03-08 09:58

The solution below works for iOS9 + running on Xcode 8, for Swift3.0

The steps are

  1. Setup Facebook Launch

FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: launchOptions)

  1. 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)

  2. Fix Keychain permission issue as shown in the image below

iOS 9 Keychain fix

查看更多
趁早两清
6楼-- · 2019-03-08 09:59

In my case it was fixed by updating to latest FB SDK. 4.10 at the moment.

查看更多
聊天终结者
7楼-- · 2019-03-08 10:03

I was able to get login working again on iOS9 with SDK 4.6.0 by adding the new plist key/value

<key>FacebookDisplayName</key>
<string>{Your App Name}</string>

Source code.

I also took the steps in some other answers here to implement a shared FBSDKLoginManager() instance.

查看更多
登录 后发表回答