这是我复制bug的方法.所以这是我登录的代码:
@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
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果我登录两次,然后再次运行该应用程序,此行将在appdelegate中崩溃.
FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: launchOptions)
Run Code Online (Sandbox Code Playgroud)
如果我只登录一次,然后再次运行应用程序,则不会发生崩溃.崩溃的完整堆栈如下:
2016-12-09 10:51:28.893持久性[73125:897290] - [NSConcreteMutableData isEqualToString:]:无法识别的选择器发送到实例0x60000004ec40 2016-12-09 10:51:28.903持久性[73125:897290]***终止应用由于未捕获的异常'NSInvalidArgumentException',原因:' - [NSConcreteMutableData isEqualToString:]:无法识别的选择器发送到实例0x60000004ec40'
***首先抛出调用堆栈:(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 …