Tag: fbsdkloginkit

如何检查用户是否用iOS的FBSDKLoginKitlogin?

当我在viewDidLoad运行应用程序时,我需要检查用户是否曾经login过。 if FBSDKAccessToken.currentAccessToken() != nil { print("1") presentViewController(controller, animated: true, completion: nil) } else { print("2") let button = FBSDKLoginButton() button.delegate = self button.readPermissions = ["public_profile", "user_friends"] view.addSubview(button) } 它总是打印"2" 。 为什么?

当我进入主屏幕时,使用FacebookloginSDK崩溃

我最初下载了FBSDK的4.10版本,并将它们放到我的应用程序中,放在框架文件夹中。 意识到这些将不会随着时间的推移而得到更新,我将它们彻底删除,并尝试将它们作为豆荚添加到我的项目中。 成功安装了pod,我已经正确地将它们导入了桥接头文件,并且没有其他问题。 豆荚更新安装版本4.11导致我头痛。 我正在使用FBSDKLoginKit将用户login到他们的帐户并从中检索信息。 我能够找回用户信息的字典就好了。 然后我把这个信息传递给下一个ViewController。 在此之后的任何时候,如果我按下我的iPhone或模拟器上的主页button,应用程序将崩溃。 我得到的错误是 *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object from objects[3]' 如果我让用户通过Facebooklogin,继续到新的视图控制器,展开到先前的视图控制器,然后再次尝试login,也会发生此exception。 一旦在第二个屏幕上检索到他们的相关信息,我试图login用户,但是错误仍然存​​在。 我看到一个类似的问题,问“解决scheme”在哪里,FBSDKLoginKit将检索到的字典写入一个variables,如果检索到的字典有nil值,则抛出这个错误。 有什么事情可以在事情发生之前做到吗? 有没有人find解决办法? 这是我按下home时从模拟器的输出: *** First throw call stack: ( 0 CoreFoundation 0x0000000106f03d85 __exceptionPreprocess + 165 1 libobjc.A.dylib 0x000000010643edeb objc_exception_throw + 48 2 CoreFoundation 0x0000000106e0023e […]

FBSDKLoginManager logInWithReadPermissions:fromViewController:处理程序:完成不调用应用程序第一次运行

我有一个Facebooklogin启用的应用程序,由于某种原因FBSDKLoginManager logInWithReadPermissions: fromViewController: handler:不安装后我的应用程序的第一次运行调用。 如果我只是杀了我的应用程序(即使没有尝试login到Facebook或做任何事情:试图login首先打开或不改变任何东西),并再次打开它,它完美的作品。 为什么? (我已经检查了传递给方法的视图控制器不是零,是当前的视图控制器) 这是我的login代码: +(void)loginWithFacebookWithCompletion:(ULCompletion)completion{ [[[FBSDKLoginManager alloc] init] logInWithReadPermissions:FACEBOOK_READ_PERMISSIONS fromViewController:[ULMasterViewController instance] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) { if(result.token){ … } […] 剩下的就是不相关的,因为完成块根本不被调用(即使有错误也不会)。 我有硬编码的FACEBOOK_READ_PERMISSIONS : #define FACEBOOK_READ_PERMISSIONS (@[@"user_friends", @"user_birthday", @"email", @"user_photos"]) 最后, [ULMasterViewController instance]是有效的(不为零,并在层次结构中的视图(否则它抱怨视图不在hiearchy,也试过))。