I\'m trying to implement Facebook login in my iOS app, using Parse.
let permissionsArray = [\"public_profile\", \"email\"]
PFFacebookUtils.logInInBackgroun
Official response from Facebook:
We are already tracking this issue in another bug report, and it seems to be an error on Apple's side.
https://developers.facebook.com/bugs/919990934704584/
I found this problem when I upgraded to:
FBSDKCoreKit 4.4.0
FBSDKLoginKit 4.4.0
FBSDKShareKit 4.4.0.
It went away when I downgraded to:
FBSDKCoreKit 4.2.0
FBSDKLoginKit 4.1.0
FBSDKShareKit 4.1.0
I haven't had a chance to discover at what point the upgrades cause this - for example, could I have stuck with 4.3.0 for all three?
I fix it with: 1.Add Bolts.framework 2.in AppDelegate: #import
I also had error 308, however I was not using the Parse SDK.
These errors started appearing when I upgraded the Facebook iOS SDK from version 4.0.1 (FacebookSDKs-iOS-20150402) to one of the newer versions (4.2.0 - FacebookSDKs-iOS-20150528 or 4.3.0 - FacebookSDKs-iOS-20150625).
Downgrading the Facebook iOS SDK to version 4.0.1 solved this problem for me.
As a side note: the new versions of the SDK seem to correlate well with the appearance of 308 error posts on SO at the beginning of June.
You don't have to downgrade for this.
Perform the following things and it should work: - Clean your derived data (Xcode -> Preferences -> Locations -> Click on the small arrow next to Derived data). Make sure you read about derived data before performing this. If you have a complicated project and have made some silly mistakes (ex: deleted some file) you may have to figure out the issue before re running your app. But it won't be that difficult. - Delete your app form your device/simulator - Remove your Facebook app approval from Facebook (Setting -> App - > Click on the "x" to delete your app)
Rerun the app and everything should work.
Good Luck!
if log out and login again without leaving this app,this error also come,
let deletepermission = FBSDKGraphRequest(graphPath: "me/permissions/", parameters: nil, HTTPMethod: "DELETE")
deletepermission.startWithCompletionHandler({(connection,result,error)-> Void in
println("the delete permission is \(result)")
dispatch_async(dispatch_get_main_queue(), { () -> Void in
FBSDKAccessToken.setCurrentAccessToken(nil)
FBSDKProfile.setCurrentProfile(nil)
fbLoginManager.logOut()
AppDelegate.sharedAppDelegte().logout()
})
})