ios Facebook 登录按钮 - 不会更改为注销

Posted

技术标签:

【中文标题】ios Facebook 登录按钮 - 不会更改为注销【英文标题】:ios Facebook Login button - doesn't change to Log out 【发布时间】:2015-07-05 09:21:48 【问题描述】:

我正在使用 Xcode 6 和 Facebook ios SDK 4.3, 我根据Facebook's guide 嵌入了代码并且登录有效,但是 出于某种原因 -

我登录后,按钮不会变为“注销”,而是保持“使用 Facebook 登录”。

有人遇到过这个问题吗?

【问题讨论】:

【参考方案1】:

所以我从头再来,跟着instructions from the guide:

1.在viewController.h文件中:

#import < FBSDKCoreKit/FBSDKCoreKit.h> //<-delete the space

#import < FBSDKLoginKit/FBSDKLoginKit.h>//<-delete the space

@interface ViewController : UIViewController<FBSDKLoginButtonDelegate>
@property (weak, nonatomic) IBOutlet FBSDKLoginButton *loginButton;

2.在viewController.m文件中:

-(void) viewDidLoad
   if ([FBSDKAccessToken currentAccessToken]) 
   // User is logged in, do work such as go to next view controller. 
   

   self.loginButton.readPermissions = @[@"public_profile", @"email", @"user_friends"];

   FBSDKLoginButton *loginButton = [[FBSDKLoginButton alloc] init];
  [self.view addSubview:loginButton];


在那之后不起作用,I've found this thread 提到我还需要向 AppDelegate 添加一些东西 didFinishLaunchingWithOptions

return [[FBSDKApplicationDelegate sharedInstance] application:application
                                didFinishLaunchingWithOptions:launchOptions];

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation 
return [[FBSDKApplicationDelegate sharedInstance] application:application
                                                      openURL:url
                                            sourceApplication:sourceApplication
                                                   annotation:annotation];

然后它起作用了! 最后,我将 Log in 按钮更改为 Log out

【讨论】:

谢谢!我一直在为 FB 的文档而苦苦挣扎。在我看来,它们非常模糊。无论如何你解决了我的问题:) 添加-它不仅登录更改为注销,而且登录过程不会在没有application:openUrl:sourceApplication:annotation的情况下完成。所以现在我可以使用登录结果对象了。 正如@Gab 所说,在模拟器中您可能看不到注销按钮自动更改。【参考方案2】:

我遇到了同样的问题,但在任何地方都找不到答案。 原来这是一个模拟器问题;一旦我在设备(iOS 9.3.1)上运行相同的代码,一切都很好。

【讨论】:

【参考方案3】:

记得开启钥匙串分享功能

【讨论】:

以上是关于ios Facebook 登录按钮 - 不会更改为注销的主要内容,如果未能解决你的问题,请参考以下文章

Phonegap 建立 Facebook 登录

iOS Facebook 登录按钮与 swift

Facebook 登录状态得到保存? - 安卓

React Native Facebook 登录按钮在 iOS 模拟器中使应用程序崩溃

Facebook SDK 登录永远不会在 iOS 9 上回调我的应用程序

带有 Facebook 登录的 IOS 应用程序卡在登录页面