Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

facebook sdk crashes in application delegate

Here's how I replicate the bug. So here's the code I have for logging in:

@IBAction func FBLoginAction(_ sender: AnyObject) {
    fbLoginManager.loginBehavior = FBSDKLoginBehavior.browser
    fbLoginManager.logIn(withReadPermissions: ["public_profile", "email", "user_friends"], from: self) { (result, error) -> Void in
        if (error != nil) {
            return
        }
    }
 }

If i login twice, and then run the app again, this line crashes in the appdelegate.

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

If i only log in once, and run the app again, no crash happens. The full stack for the crash is the following:

2016-12-09 10:51:28.893 Persistence[73125:897290] -[NSConcreteMutableData isEqualToString:]: unrecognized selector sent to instance 0x60000004ec40 2016-12-09 10:51:28.903 Persistence[73125:897290] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSConcreteMutableData isEqualToString:]: unrecognized selector sent to instance 0x60000004ec40'

*** First throw call stack: ( 0 CoreFoundation 0x00000001085e634b exceptionPreprocess + 171 1 libobjc.A.dylib
0x0000000107c2a21e objc_exception_throw + 48 2 CoreFoundation
0x0000000108655f34 -[NSObject(NSObject) doesNotRecognizeSelector:] + 132 3 CoreFoundation 0x000000010856bc15 ___forwarding_
+ 1013 4 CoreFoundation 0x000000010856b798 _CF_forwarding_prep_0 + 120 5 FBSDKCoreKit
0x000000010700aa5a -[FBSDKAccessTokenCacheV4 fetchAccessToken] + 202 6 FBSDKCoreKit 0x000000010700902c -[FBSDKAccessTokenCache fetchAccessToken] + 92 7 FBSDKCoreKit 0x0000000107017d2d -[FBSDKApplicationDelegate application:didFinishLaunchingWithOptions:] + 125 8 Persistence
0x000000010572bcb7 _TFC11Persistence11AppDelegate11applicationfTCSo13UIApplication29didFinishLaunchingWithOptionsGSqGVs10DictionaryVSC29UIApplicationLaunchOptionsKeyP____Sb + 727 9 Persistence 0x000000010572cfb4 _TToFC11Persistence11AppDelegate11applicationfTCSo13UIApplication29didFinishLaunchingWithOptionsGSqGVs10DictionaryVSC29UIApplicationLaunchOptionsKeyP____Sb + 180 10 UIKit 0x00000001091110be -[UIApplication _handleDelegateCallbacksWithOptions:isSuspended:restoreState:] + 290 11 UIKit 0x0000000109112a43 -[UIApplication _callInitializationDelegatesForMainScene:transitionContext:] + 4236 12 UIKit 0x0000000109118de9 -[UIApplication _runWithMainScene:transitionContext:completion:] + 1731 13 UIKit 0x0000000109115f69 -[UIApplication workspaceDidEndTransaction:] + 188 14 FrontBoardServices 0x000000010d698723 FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK + 24 15 FrontBoardServices 0x000000010d69859c -[FBSSerialQueue _performNext] + 189 16 FrontBoardServices 0x000000010d698925 -[FBSSerialQueue _performNextFromRunLoopSource] + 45 17 CoreFoundation 0x000000010858b311 CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION + 17 18 CoreFoundation 0x000000010857059c __CFRunLoopDoSources0 + 556 19 CoreFoundation 0x000000010856fa86 __CFRunLoopRun + 918 20 CoreFoundation
0x000000010856f494 CFRunLoopRunSpecific + 420 21 UIKit
0x00000001091147e6 -[UIApplication _run] + 434 22 UIKit
0x000000010911a964 UIApplicationMain + 159 23 Persistence
0x000000010572d97f main + 111 24 libdyld.dylib
0x000000010b3a368d start + 1 ) libc++abi.dylib: terminating with uncaught exception of type NSException

like image 409
Ryan Avatar asked Dec 09 '16 15:12

Ryan


2 Answers

If you are using version 4.18.0 of the Facebook SDK, then update it to 4.19.0 or to the current version and you won't get the crash.

like image 36
Jonathan22 Avatar answered Sep 27 '22 20:09

Jonathan22


I reverted to version 4.17.0 of the Facebook SDK and I no longer get the crash.

like image 170
JoeLaws Avatar answered Sep 27 '22 19:09

JoeLaws